我的应用程序中有2个ListView,当用户点击每个listview项目的项目时,页面应导航到不同的视图。
就我而言,当我点击每个视图时,它会导航到同一个视图。看起来当用户点击视图的项目时,它调用相同的控制器功能。这是我的代码,有人可以帮我解决这个问题;
Ext.define('MyApp.controller.MyCOntroller', {
extend: 'Ext.app.Controller',
config: {
refs: {
OneList: 'onel',
TwoList: 'twol'
},
control: {
"list": {
itemtap: 'onOnelTap'
},
"list": {
itemtap: 'twolClicked'
}
}
},
onOnelTap: function(dataview, index, target, record, e, eOpts) {
console.log("hhhhhh "+e.event.target.nodeName);
},
courtRoomListClicked: function(dataview, index, target, record, e, eOpts) {
console.log(" 2 -- >list");
}
});
答案 0 :(得分:2)
您好像没有正确宣布refs
和controls
。
假设您的OneList
有一个名为one-list
的ID,那么引用和控件应该像这样声明:
config: {
refs: {
OneList: 'one-list'
},
control: {
"OneList": {
itemtap: 'onOnelTap'
}
}
},
其余的都没问题。希望这会有所帮助。
答案 1 :(得分:1)
如果我理解正确,你的control
配置不好,你可能需要这样做
Ext.define('MyApp.controller.MyCOntroller', {
extend: 'Ext.app.Controller',
config: {
refs: {
// I assume that 'onel' and 'twol' are xtype of respective views
OneList: 'onel',
TwoList: 'twol'
},
control: {
OneList: {
itemtap: 'onOnelTap'
},
TwoList: {
itemtap: 'onTwolTap'
}
}
},
onOnelTap: function(dataview, index, target, record, e, eOpts) {
console.log("onOnel Tap ");
},
onTwolTap: function(dataview, index, target, record, e, eOpts) {
console.log("onTwol Tap");
}
});