2012-10-19 98 views
0

使用ExtJS的4.1.1視圖不顯示存儲時initcomponent負載存儲ExtJS的4.1.1

我有一些商店,將需要一個特定視圖的每個實例被創建。所以,我在視圖的initcomponent方法中創建了這些存儲。這是我正在做的一些代碼重構的一部分。我試圖讓這個視圖組件能夠被多個實例實例化,而有一個控制器負責所有的實例。一旁,在這裏,我的目標是我在做什麼:

特定treestore中填充數據(並沒有多麼的數據確實在店裏結束了與螢火蟲驗證)。樹視圖是在視圖中定義的,並且它將填充的樹存儲作爲其存儲。但是,當視圖出現時。數據不在樹視圖中。我相信這可能與initComponent運行之前的所有靜態配置加載有關,儘管我不確定。如果我能夠對這個過程有所瞭解,這將非常有幫助。我想我說this.store1屬於視圖配置中的視圖,但是然後在視圖initComponent中定義this.store1。這是做錯了嗎?

任何建議表示讚賞。

使用ExtJS的4.1.1

+0

如果是執行順序的情況。在加載配置之前,我可以在哪裏定義視圖和查看項目的數據元素(存儲)? – Bbb

+0

我想也許嘗試構造函數而不是initcomponent,但我有相同的結果。 – Bbb

+0

一小段代碼會有所幫助 – dbrin

回答

2

只是刪除從控制器的商店列表中存儲的名稱,因爲這會干擾機制蒙山不知何故將ID分配給商店。以下是我的經驗示例:

Ext.define('Adminpanel.controller.MenuManager', { 
    extend: 'Ext.app.Controller', 
    stores: ['Menu'] // <-- reason 
}); 

Ext.define('Adminpanel.view.menuManager.Tree', { 
    extend: 'Ext.tree.Panel', 
    initComponent: function() { 
     this.store = Ext.create('Adminpanel.store.Menu'); // <-- problem 
     this.callParent(arguments); 
    } 
});