给定这样的商店,在运行时,storeId
将App.store.Entities
代替Entities
:
Ext.define('App.store.Entities', {
extend: 'Ext.data.Store',
storeId: 'Entites',
该文档指出:
请注意,当控制器实例化 store 时,storeId 将被 store 的名称覆盖。
这不仅适用于控制器中需要存储的情况
stores: ['App.store.Entities'],
而且当它被异步创建时
this.getStore('App.store.Entities')
这都是预期的行为,但我不喜欢这样的事实,即这种行为会强制使用
- 完全限定名称
App.store.Entities
- 或坚持严格的命名约定和目录结构。
问题
我遇到的问题是我的应用程序变得非常大,并且不再将所有store
定义放在一个文件夹中。store
我想重构一个文件夹结构,如下所示。
/app
/plugin1
/store
/Settings
/Details
/model
/view
/plugin2
/store
/Items
/Settings
/model
/view
如果我可以强制使用storeId
,我可以定义它,'plugin1.Settings'
并且会提出比'App.plugin1.store.Settings'
在原地重复更易读和更便携的代码。
我怎么可能解决这个问题?我可以从哪里开始?