1

MVC パターンに従って、ExtJS 4.1 RC3 を使用しています。今日は、コントローラーを初期化する前に何らかのロジックを実装する必要があったのは初めてです。Ext.app.Application からこのメソッドを思い出し、それを使用することにしました。

発射されることはないようです。何が発射されているのかわかりません。

2011 年 9 月以降、この方法が機能しないという小さな未回答のスレッドが 1 つ見つかりました。投稿者の解決策は、アプリをリファクタリングすることでした。これは他のすべての人に有効ですか、それとも誰も使用していませんか?

これは、launch メソッドを使用するのと同じ方法でコーディングしています。それは間違っていますか?コードは次のようになります。

// app.js
Ext.application({
    name: 'MyApp',

    autoCreateViewport: true,

    controllers: ['myController'],

    init: function() {
        console.log('init'); // this never gets called
    },

    launch: function() {
        console.log('launch'); // this works fine
    }

});
4

2 に答える 2

3

フレームワークのバグです。うまくいけば 4.1.1 リリースに入る修正をプッシュしました。

于 2012-05-13T01:53:51.807 に答える
3

私は ExtJs 4.0.7 で作業していますが、init メソッドが起動しません (バグ) 良くも悪くも、私の回避策は自分で呼び出すことです。

launch: function() {
    this.init();
    console.log('launch'); // this works fine
}

上記の init メソッドに到達できるようになりました。

  init: function() {

    console.log('init'); // this gets called
    // For example here's a quick way to stop an Ext Task... 
    this.on({

      stopEvents: function() {
       Ext.TaskManager.stopAll();
      }

    })
  }
},
于 2012-11-07T17:09:13.033 に答える