2012-10-19 64 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); 
    } 
});