4

this.control:推奨される構文を使用してイベントを制御するコントローラー:

Ext.define('Mb.controller.Sav_vpc', {
    extend: 'Ext.app.Controller',
    init: function() {
        console.log('controller.init called');
        this.control({
            '#storeMenu menuitem': {
                click: this.onStoreMenuClicked
            }
        });
    }
});

onStoreMenuClickedコントローラーのメソッドが2回呼び出されるため、関数は2回init呼び出され、イベントを2回リッスンします。

しかし、いつcontroller.init()呼び出されますか?そして、なぜ2回呼び出されるのですか?

これが私のapplication.launch機能です:

Ext.define('Mb.Application', {
    extend: 'Ext.app.Application',
    launch: function() {
        console.log('launching app');
        var controller = Mb.app.getController('Name');
            console.log('end launching app');
    });
...

これにより、コンソールに次の出力が表示されます。

controller.init called
launching app
controller.init called
end launching app
4

1 に答える 1