1

我有一个从 json 填充的简单列表。当点击其中一个项目时,我希望出现一个新视图。该列表位于 Ext.navigation.View 内。

我的控制器

Ext.define('Trainz.controller.StationListController', {
extend: 'Ext.app.Controller',

config: {
    models: [
        'Station'
    ],
    stores: [
        'Stations'
    ],
    views: [
        'Main'
    ],

    control: {
        "list": {
            itemtap: 'onListItemTap'
        }
    }
},

onListItemTap: function(dataview, index, target, record, e, eOpts) {
    console.log(record);
}

});

这是我要推送的(现在为空的)视图

Ext.define('Trainz.view.StationDetailView', {
extend: 'Ext.Panel',

config: {
}

});

猜想我必须在onListItemTap函数中添加一些东西,但对于我的生活,我无法弄清楚是什么。尝试了来自 Google 的四个不同的代码片段,但都得到了错误。正确的方法是什么?

如果这有什么不同,我正在使用Sencha Architect 。

以下是完整的初始视图以供参考:

Ext.define('Trainz.view.Main', {
extend: 'Ext.tab.Panel',

config: {
    tabBar: {
        docked: 'bottom'
    },
    items: [
        {
            xtype: 'navigationview',
            title: 'Stations',
            iconCls: 'maps',
            items: [
                {
                    xtype: 'list',
                    title: 'Stations',
                    itemTpl: [
                        '<div>{Namn}</div><div style="float:right; margin-right: 1.5em;"></div>'
                    ],
                    store: 'Stations',
                    grouped: true,
                    indexBar: true
                }
            ]
        }
    ]
}

});
4

1 回答 1

3

您需要检索您的导航视图,然后执行

navigationView.push(yourNewView); 

或者

dataview.up('navigationview').push(yourNewView)

http://docs.sencha.com/touch/2.2.0/#!/api/Ext.navigation.View-method-push

希望这可以帮助

于 2013-05-31T20:08:47.877 回答