嘿伙计们,我刚开始使用sencha touch 2.0,现在我在项目中使用mvc时遇到了问题。我有一个简单的列表,我想打开一个详细信息视图,列表项上有一个选项卡。所以我试图告诉我的控制器处理这个列表上的点击,但它根本不起作用。 我做错了什么?
这是我的控制器
Ext.define('MyFirstApp.controller.Main', {
extend: 'Ext.app.Controller',
views: ['Home', 'People'],
models: ['People'],
stores: ['Peoples'],
config: {
refs: {
people: 'peoplelist'
},
control: {
people: {
itemtap: 'testFunc'
}
}
},
testFunc: function() {
console.log("something was clicked");
}
});
'peoplelist'是我列表的xtype。 谢谢你的帮助: - )
答案 0 :(得分:3)
您发布的代码没有错。它适用于此List:
Ext.define('MyFirstApp.view.People', {
extend: 'Ext.List',
xtype: 'peoplelist',
config: {
fullscreen: true,
itemTpl: '{first} {last}',
store: 'Presidents'
}
});
如果在配置中声明xtype,则无效。
答案 1 :(得分:1)
是的,你这样做的方式是正确的,但你没有正确地获得对列表的引用。
试试这个:
config: {
control: {
'peoplelist': {
itemtap: 'testFunc'
}
}
}
这段视频和代码给了我很多帮助: http://learn.sencha.com/learn/meet-the-list-component/
答案 2 :(得分:0)
你应该让你的people / itemtap事件在监听器内(而不是控制)。