-3

尝试创建这个非常简单的存储时出现错误。我想知道是什么原因造成的以及如何解决。任何帮助表示赞赏:

me.model 未定义

var sortAvailable = Ext.create('Ext.data.Store', {
  model: 'model_Im_Using',
  storeId:'sortAvailable'

});

下面是模型的代码,虽然我不认为这是问题的一部分

Ext.define('APPNAME.model.model_Im_Using', {
  extend: 'Ext.data.Model',
  modelID: 'BrField',

  fields:[
    {name:'displayName', type:'string'},
    {name:'databaseName', type:'string'}
  ]

});

该模型在 model/model_Im_using.js 下的自己的文件中定义我在同一个文件中使用了这个模型和一些树存储

我确定我遗漏了一些明显的东西。该商店旨在仅将模型实例放入其中/从本地获取。与服务器端没有通信。

编辑:错误所在的行是:

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

4

3 回答 3

3
  1. 如果使用命名空间,则必须使用命名空间。你不能混搭。更改store.modelAPPNAME.model.model_Im_Using,您应该没问题。

  2. 什么是model.modelID?

  3. 您应该遵循 Sencha命名约定

这是一个使用正确命名空间的示例,而没有命名空间则无法工作:

http://jsfiddle.net/UMXNZ/

Ext.define('APPNAME.model.model_Im_Using', {
  extend: 'Ext.data.Model',
  modelID: 'BrField',

  fields:[
    {name:'displayName', type:'string'},
    {name:'databaseName', type:'string'}
  ]

});


var sortAvailable = Ext.create('Ext.data.Store', {
  model: 'APPNAME.model.model_Im_Using',
  storeId:'sortAvailable'

});
console.log('ok');

var sortAvailable2 = Ext.create('Ext.data.Store', {
  model: 'model_Im_Using',
  storeId:'sortAvailable'

});
console.log('ok');

使用短名称时的错误消息是:

没有模型定义的商店。您可能输入了错误的型号名称。

于 2012-08-09T17:39:00.993 回答
0

对于我的 mvc 项目(使用 extjs 4.2),我遇到了同样的问题,但这不是因为我输入错误的模型名称。

您还必须在控制器的开头添加一个要求:

    requires:
    [
        'dashboard.model.Column' // > my model
    ],

然后您可以在控制器的新功能中以编程方式创建一个新商店,如下所示:

        Ext.create('Ext.data.Store',{
             model:'dashboard.model.Column',
             storeId:'myStoreId'
        });

也许它可以帮助一些人。

于 2014-01-09T15:02:37.313 回答
0

将下面的配置行添加到商店处理了错误

proxy: {type: 'memory'}
于 2012-08-09T18:34:49.103 回答