我的应用程序(Ext JS 4.2.1)包含许多网格面板,以及许多商店。在定义商店时,我使用storeId来匹配网格和商店。这些商店中的许多几乎完全相同。示例商店看起来像这样
Ext.define('MyApp.store.UsersStore', {
model: 'MyApp.model.User',
storeId: 'UsersStore',
proxy: {
type: 'rest',
url: 'somePrefix/users',
reader: {
type: 'json',
totalProperty: 'total',
root: 'users'
}
}
});
另一家商店" AvailableUsersStore"看起来非常相似,它只是使用另一个网址," somePrefix / users /?可用"和另一个storeId," AvailableUsersStore"。所以我的应用程序中有很多冗余的代码行,分布在许多商店文件中。知道如何清理它吗?
答案 0 :(得分:2)
为您的商店创建基类:
Ext.define('MyApp.store.UsersStore', {
extend: 'Ext.data.Store',
model: 'MyApp.model.User',
proxy: {
type: 'rest',
url: 'somePrefix2/users1',
reader: {
type: 'json',
totalProperty: 'total',
root: 'users'
}
}
});
然后扩展你的基类:
Ext.define('MyApp.store.AvailableUsersStore', {
extend: 'MyApp.store.UsersStore',
storeId: 'userStore1',
proxy: {
url: 'somePrefix2/users2',
}
});
Ext.define('MyApp.store.RemovedUsersStore', {
extend: 'MyApp.store.UsersStore',
storeId: 'userStore2',
proxy: {
url: 'somePrefix2/users3',
}
});