我在Store
这里读到关于煎茶的信息
这两个术语需要唯一的名称/ID。为什么我们两个都需要?为什么不只userClassName
使用价值storeid
呢?
定义商店的代码是:
/**
*/
Ext.define('MyApp.store.Wallpaper', {
extend: 'Ext.data.DirectStore',
requires: [
'MyModel'
],
model: 'MyModel',
constructor: function () {
var me = this;
var cfg = {
storeId: 'wallpapersStore',
proxy: {
type: 'direct',
directFn: mydirFn,
reader: {
type: 'json',
root: 'wallpapers'
}
}
};
me.callParent([cfg]);
return me;
}
});
在这个定义中,userClassName 实际上是:“MyApp.store.Wallpaper”并用于
var instance1 = Ext.create('MyApp.store.Wallpaper');
虽然 storeId 用于全局商店实例:
var instance2 = Ext.getStore('wallpapersStore'); //instance1 === instance2
var instance3 = Ext.getStore('wallpapersStore'); //instance1 === instance2 === instance3
var instance4 = Ext.create('MyApp.store.Wallpaper'); //this generates an error because of the conflicting storeId's
另外,ExtJS 中不存在 userClassName,它只被 Sencha Architect 用来识别用户想要的 className;