在sencha modern(6.5)中,我刚刚从旧商店中添加了一个新商店作为副本。但是,此新商店未显示在storemanager中。两家商店:
然后使用某些控制器中的代码来获取这些商店
old :
Ext.define('AllSports.store.Event', {
extend: 'Ext.data.Store',
storeId: 'Event',
alias: 'store.event',
model: 'AllSports.model.Event',
data: {
items: [
]
},
proxy: {
type: 'memory',
reader: {
type: 'json',
rootProperty: 'items'
}
}
});
新
Ext.define('AllSports.store.EventABCD', {
extend: 'Ext.data.Store',
storeId: 'EventABCD',
alias: 'store.eventabcd',
model: 'AllSports.model.Event',
data: {
items: [
]
},
proxy: {
type: 'memory',
reader: {
type: 'json',
rootProperty: 'items'
}
}
});
新商店用于以下视图:
Ext.define('AllSports.view.entry.TestCard', {
extend: 'AllSports.view.entry.BuildableCard',
xtype: 'testcard',
controller: 'testcard',
title: 'Events - testcard',
layout: {
type: 'vbox',
align: 'stretch'
},
items: [],
store: {
type: 'eventabcd'
},
});
最后是测试商店的代码段:
let store1 = Ext.data.StoreManager.lookup('EventABCD');
let store2 = Ext.data.StoreManager.lookup('Event');
let store3 = this.getView().store;
let dat2 = store2.data;
let dat3 = store3.data;
debugger;
我注意到store1
是未定义的,而store3
只是继承自默认对象(而不是sencha存储)。因此,dat2正确显示商店数据,而dat3未定义。
出了什么问题?