-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.modelするAPPNAME.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を使用)でも同じ問題がありましたが、モデルの名前を間違えたためではありませんでした。

コントローラーの先頭に require も追加する必要があります。

    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 に答える