コードをDRYのままにしておきたいので、独自の「ライブラリ」を作成しています。SimpleControllerを拡張して名前を送信するだけで、既に作成されているストアとビューを一般的に読み込むことができますが、コンソールにnameOfControllerが未定義であるというメッセージが表示されます。
1.)この例では、nameOfControllerが未定義であるのはなぜですか?
2.)SimpleControllerを拡張する方法を知っていますが、nameOfControllerを初期化する適切なタイミングはいつですか?init()
関数で?ストアをロードする前でも実行される関数:[]とビュー:[]はありますか?
Ext.define('MyApp.controller.SimpleController', {
extend: 'Ext.app.Controller',
nameOfController: "",
stores: ['MyApp.store.' + this.nameOfController],
views: ['MyApp.view.' + this.nameOfController + '.Index']
編集:(拡張の例)
Ext.define('MyApp.controller.Users', {
extend: 'MyApp.controller.SimpleController',
nameOfController: "Users" //I want to this nameOfController
//changes the one in superclass
});