だから私は、機能を持つパネルにアイテムを動的に配置しようとしていslidenavigation
ます:
// FlyoutNavigation.js Ext.define("APN.view.FlyoutNavigation", { id: "flyoutNavigationPanel", 拡張: 'Ext.ux.slidenavigation.View',
view
別のビューでの初期化は次のとおりです。
// MainViewContainer.js this.home = "いくつかの変数" this.flyout = Ext.create('APN.view.FlyoutNavigation', { id: 'flyoutNavigationPanel', ホーム: this.home });
セクションでこの変数を使用しようとしてthis.config.items
いますが、うまくいきません。Sencha は最初にすべてをコンパイルし、コンポーネントを初期化するのではなく、間違っている可能性があります。私は Sencha Framework に本当に慣れていません。
したがって、home
変数が使用されているビューは次のとおりです。
Ext.define("APN.view.FlyoutNavigation", { id: "flyoutNavigationPanel", 拡張: 'Ext.ux.slidenavigation.View', xtype: 'flyoutnavigation', 必要: [ ...省略されたものの山... ]、 初期化: 関数 () { this.callParent(); this.setupDynamicItems(); }、 構成: { 項目: [ { itemId: 'nav_home', id: 'ホームビュー', 項目: [{ xtype: '記事リスト', id: 'latestNews', feedUrlName: this.home, // - UNDEFINED が発生する場所です フレックス: 1 } ]、 }、
this.home
未定義もそうです...
この質問から来る1つの可能な解決策: Sencha Touchでxtypeテンプレートを動的に作成する方法
すべてのコードを入れることにしましたthis.config.items.add({ ... my items ... })
がExt.ux.slidenavigation.View
、バグが発生したようです! :( 初期化メソッドは、ビューのアイテムのバインド メソッドの後に発生しFlyoutNavigation
ます。
バグのメッセージは次のとおりです。Uncaught TypeError: Cannot read property 'raw' of undefined View.js:310
これは基本的に次の行です。if (Ext.isFunction(item.raw.handler)) {
だから私の質問は
- config.items セクションでインスタンス変数を取得するには? それが可能なら、すべてがOKです
- または、この問題の回避策を知っていますか?
ありがとう