Sencha Touch 2.0控制器无法处理我的列表中的点击

时间:2012-03-07 10:54:06

标签: sencha-touch sencha-touch-2

嘿伙计们,我刚开始使用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。 谢谢你的帮助: - )

3 个答案:

答案 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/

更新了链接:http://docs.sencha.com/touch/2.2.1/#!/video/list

答案 2 :(得分:0)

你应该让你的people / itemtap事件在监听器内(而不是控制)。

http://docs.sencha.com/touch/2-0/#!/guide/events