0

コントローラー ref を使用して、Sencha Touch のリスト項目で項目開示を機能させようとしています。しかし、イベントはコントローラー内で発生/受信することはありません。私が見たすべての例には、リスナーを使用したリスト項目がありますが、それはあまり MVC ではないと思ったので、このようにしようとしています (コントローラーの代わりにリスナーを使用する理由はありますか?)

私の見解では、リストは EnquiryIndex ビュー内の項目です。

コンソールウィンドウでこれを行うと、リストが正しく返されるので、参照が正常に機能していることがわかります。

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

あなたが見逃しているかもしれないことは、app.jsにこの行を追加することです

controllers: ['EnquiryIndex']

これを試してみてください。今すぐ動作するはずです。

于 2013-04-22T10:56:13.057 に答える
0

これを試して

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

またはこれ

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

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

お役に立てれば

于 2013-01-21T16:10:58.603 に答える