3

コンソール ウィンドウでこれを行うと、次のようになります。

var s = new Ext.data.Store('MyApp.store.Genders');

次のエラーが表示されます。

メタデータを介してモデルを定義しない限り、ストアはそれ自体またはそのプロキシでモデルを定義する必要があります

ただし、実際には私のストアにはモデルが定義されています。

Ext.define('MyApp.store.Genders', {
    extend: 'Ext.data.Store',

    requires: [
        'MyApp.model.Lookup',        
        'Ext.data.proxy.Rest'
    ],

    config: {
        autoLoad: true,
        model: 'MyApp.model.Lookup',
        storeId: 'GenderStore',
        proxy: {
            type: 'rest',            
            url : '/api/lookup/genders',
            reader: {
                type: 'json'
            }
        }
    }    
});

これが正しく機能しない理由はありますか?

4

1 に答える 1

1

新しいストア オブジェクトを作成する理由をお伺いしてもよろしいですか? を使用する場合Ext.define、技術的には、すべてのデータを保存するために使用できる Store オブジェクトを Sencha で既に作成しています。なぜ作成する必要があるのか

var s =

基本的に、Ext.define('StoreName',{params_with_Model})StoreName という名前の関連付けられたモデルを使用してストア オブジェクトを作成しました。ただし、これをxtypeとして登録していないため、後でオブジェクトを作成できます(実際、それができるかどうかさえわかりません)。

しかし、Sencha で新しい変数 s を作成したとき、Store タイプ 'StoreName' のオブジェクトを作成しませんでした。代わりに、同じ名前で 2 番目のストアを作成しようとしました。これは最初のものとはまったく関係がないので、Sencha はモデルとデータを提供することを期待していましたExt.define

于 2013-04-10T18:57:48.263 に答える