0

在将静态数据与内存代理一起使用时,我遇到了如下添加的错误。有人可以告诉我我的错误或遗漏的部分吗?

提前致谢。

me.model is undefined
me.setProxy(me.proxy || me.model.getProxy());

我的模型定义:

Ext.define(appName + '.model.Country', {    extend: 'Ext.data.Model',
    fields: [
        {type: 'string', name: 'abbr'},
        {type: 'string', name: 'name'},
        {type: 'string', name: 'slogan'}
    ]
});

这是我的商店定义:

// The data for all states
var data = {
    states : [
        {'abbr':'AL','name':'Alabama','slogan':'The Heart of Dixie'},
        {'abbr':'AK','name':'Alaska','slogan':'The Land of the Midnight Sun'}
    ]
};


Ext.define(appName + '.store.Countries', {
    extend        : 'Ext.data.Store',
    model        : appName + '.model.Country',
    data        : data,
    proxy: {
        type: 'memory',
        reader: {
            type: 'json',
            root: 'states'
        }
    }
});
4

2 回答 2

1

您可能想要检查模型文件是否实际加载并可供使用。在处理大量文件时,ExtJS(我在使用 4.2.1 时遇到过这种情况)对它们进行排序有问题。

快速解决方法是使用requires:在应用程序定义中:

Ext.application({
    name: 'APP',
    appFolder: 'application',

    controllers: [
    ...
    ],
    requires: ['APP.model.examples', 'APP.model.other' ...],
    ...
});

如果这有帮助,我在这里写了更多关于 PHP 解决方案的文章:

ExtJS 4 me.model 的解决方案是未定义的错误

于 2014-04-25T09:25:19.137 回答
0

您是否尝试显式创建商店并在容器的配置中指定它?

例如:

var store = Ext.create(appName + '.store.Countries');
Ext.create('Your Component', {
    ...
    store: store,
    ...
});
于 2012-05-28T09:51:12.287 回答