Extjs MVC全球商店

时间:2017-11-02 11:40:56

标签: extjs

我有一个使用extjs 6.2构建的应用程序。我想使用具有多个网格和图表的商店的单个实例,因为相同的数据需要在不同的地方显示。如果我创建了商店的新实例,我会生成新的获取数据的请求。我怎么能在多个地方使用单个实例。

谢谢, 马吉德

1 个答案:

答案 0 :(得分:0)

您可以在主视图组件的view model中声明商店:

stores: {
    mystore: {
        model: 'mymodel',
        autoLoad: true
    }
}

然后您可以通过binding

访问后代组件
xtype: 'grid',
bind: {
    store: '{mystore}'
}

或者您可以在应用程序的任何位置创建商店(在组件需要之前)为其分配storeId

  

此商店的唯一标识符。如果存在,这个商店将是   在Ext.data.StoreManager中注册,使其易于重用   别处。

Ext.create('App.store.MyStore', {storeId: 'myStore'});

然后使用Ext.getStore访问它:

Ext.getStore('myStore')

甚至只为组件的商店配置指定storeId,如果他们接受了这个(网格):

xtype: 'grid',
store: 'myStore'