我有一个使用 extjs 6.2 构建的应用程序。我想使用具有多个网格和图表的商店的单个实例,因为相同的数据需要显示在不同的地方。如果我创建存储的新实例,我会生成新的请求来获取数据。我怎么能在多个地方使用单个实例。
谢谢马吉德
您可以在主视图组件的视图模型中声明您的商店:
stores: {
mystore: {
model: 'mymodel',
autoLoad: true
}
}
然后,您可以通过绑定访问它的后代组件:
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'