我有一个清单:
Ext.define('my.view.ProgramList', {
extend: 'Ext.dataview.List',
xtype: 'programlist',
...
}
我希望这个列表成为两个导航视图的起点:
Ext.define("my.view.ProgramNavigationView", {
extend: 'Ext.navigation.View',
xtype: 'programnavigationview',
...
items: [{
xtype: 'programlist',
itemId: 'programlist'
}]
}
Ext.define("my.view.FacebookNavigationView", {
extend: 'Ext.navigation.View',
xtype: 'facebooknavigationview',
...
items: [{
xtype: 'programlist',
itemId: 'programlist'
}]
}
问题:如何处理控制器中的点击事件并分别处理两者?在我的控制器中,我有:
refs: {
programlist: 'programlist',
facebooknavigationview: 'facebooknavigationview',
programnavigationview: 'programnavigationview', ...
},
我试过这个:
control: {
programlist: {
initialize: 'initProgramData'
},
facebooknavigationview: {
itemtap: 'showFacebookGroup'
},
programnavigationview: {
itemtap: 'showProgramData'
},
希望itemtap会冒泡,我可以在facebooknavigationview与programnavigationview中进行不同的处理,但事实并非如此。我可以将 itemtap 放在程序列表中并触发它,但是我无法区分两个导航视图之间的区别;我不知道我是否可以搜索层次结构,但这似乎有点……丑陋。我错过了什么?