我有一个从json填充的简单列表。当点击其中一个项目时,我想要一个新视图出现。 List位于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
函数中添加一些内容,但对于我的生活,我无法弄清楚是什么。尝试了谷歌的四个不同的代码片段,只是错误回来了。什么是正确的方式?
我正在使用 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
}
]
}
]
}
});
答案 0 :(得分:3)
您需要检索导航视图,然后执行
navigationView.push(yourNewView);
或
dataview.up('navigationview').push(yourNewView)
http://docs.sencha.com/touch/2.2.0/#!/api/Ext.navigation.View-method-push
希望这有帮助