0

我正在尝试使用控制器参考使项目披露在 Sencha Touch 的列表项中工作。但是该事件似乎永远不会在控制器内部触发/接收。我见过的所有示例都有使用侦听器的列表项,但我认为这不是非常 MVC,所以我试图这样做(他们有什么理由使用侦听器而不是控制器吗?)

在我看来,该列表是 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!
}

});

4

2 回答 2

0

试试这个

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

或这个

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

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

希望这可以帮助

于 2013-01-21T16:10:58.603 回答
0

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

controllers: ['EnquiryIndex'],

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

于 2013-04-22T10:56:13.057 回答