0

我在Store 这里读到关于煎茶的信息

这两个术语需要唯一的名称/ID。为什么我们两个都需要?为什么不只userClassName使用价值storeid呢?

4

1 回答 1

1

定义商店的代码是:

/**
 */
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;

于 2013-09-12T04:07:48.427 回答