1

私はアーキテクトに次の構造を持っています。

ビューを含むコントローラー (MyPanelView の例)

MyPanelView では、ボタンを作成して、itemId を指定できます。次に、それをクリック イベントにバインドできます。コントローラーなしでクリック イベント (インライン) を使用することも、イベントをコントローラーに移動することもできます。それはうまくいきます。

しかし、これらのイベントはどうですか?afterrender、beforerenderなど..? これをコントローラーに移動すると、イベントはそこで発生しません。

これが機能しないため、パネルの afterrender 関数内でコントローラー メソッドにアクセスするにはどうすればよいですか?

onAfterrenderMyPanelView : function(component, eOpts) {
   this.getRefToOtherPanel() //not working
}

前もって感謝します!道に迷いました..

クリス。

4

1 に答える 1

1

次のように、コントローラーにリスナーとイベント ハンドラーを設定できます (Sencha ドキュメントの例)。

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

     init: function() {
         this.control({
             'viewport > panel': { //<-- ComponentQuery
                 render: this.onPanelRendered //<-- event handler
             }
         });
     },

     onPanelRendered: function() {
         console.log('The panel was rendered');
     }
 });
于 2013-08-01T17:29:41.950 に答える