列表项公开未在控制器内触发

时间:2013-01-19 16:23:22

标签: sencha-touch sencha-touch-2

我正在尝试使用控制器ref让项目公开在Sencha Touch的列表项中工作。但事件似乎永远不会在控制器内发射/接收。我见过的所有示例都有使用监听器的列表项,但我认为这不是非常MVC所以我试图这样做(有没有理由为什么他们使用监听器而不是控制器?)< / p>

在我看来,列表是EnquiryIndex视图中的一个项目。

当我在控制台窗口中执行此操作时,它会正确返回列表,因此我知道ref正常工作:

Ext.ComponentQuery.query("enquiryindexview list")[0]

见下面的例子:

Ext.define('MyApp.controller.EnquiryIndex', {
    extend: 'Ext.app.Controller',

    requires: [

    ],

    config: {
        refs: {           
           enquiryIndexViewRef: 'enquiryindexview list'
        },

    control: {
        'enquiryIndexViewRef': {
            disclose: 'onDiscloseEnquiryIndex'
        }            
    }
},

onDiscloseEnquiryIndex: function (rec) {

   // never gets here!
}

});

2 个答案:

答案 0 :(得分:0)

试试这个

config: {
  control: {
    'enquiryindexview list': {
      disclose: 'onDiscloseEnquiryIndex'
  }            
}

或者

config: {
  refs: {           
     enquiryIndexViewRef: 'enquiryindexview list'
  },

  control: {
    enquiryIndexViewRef: {
      disclose: 'onDiscloseEnquiryIndex'
  }            
}

希望这有帮助

答案 1 :(得分:0)

您可能错过的是在app.js中添加此行

controllers: ['EnquiryIndex']

试试这个,现在应该可以了。