だから私は、機能を持つパネルにアイテムを動的に配置しようとしてい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です
- または、この問題の回避策を知っていますか?
ありがとう