1

私はsenchatouchアプリケーション開発の初心者です。リモートサーバーからリストにデータをロードしようとしています。次のようなストアを作成しました

Ext.regStore('customers',{

model : 'customer',
sorters : 'firstName',
storeId : 'customers',
data : [{
    id : 100,
    firstName : 'aaa'
}, {
    id : 101,
    firstName : 'sss'
}, {
    id : 102,
    firstName : 'rrrr'
}]

});

次に、このストアを変更して、外部サーバーからデータを取得する必要があります。現在使用しているコードは次のとおりです。

var customers = new Ext.data.JsonStore({
        model : 'customer',

           proxy : {
            type : 'ajax',
            url:'http:sample.com',

            reader : {
                type : 'json',
                root : '',
            },                              
        },

        listeners : {

            datachanged : function() {

                customers.each(function(r) {
                    console.log('data in record is:'+ r.get('name'));
                });
            }
        },
    });

私の疑問は、このJSONストアを最初のコードのように登録して別のviewcontrollerファイルからストアにアクセスする方法です。

前もって感謝します

4

1 に答える 1

0

次のプロパティを使用できます。

storeId = "NameOfStoryID"

ストアに入力した後、後でコードでこのstoreIdを使用してストアにアクセスできます(データの取得、更新など)。

例:

    var schouwLijstStore = new Ext.data.Store({

        model: "schouwLijst",
        storeId: "myStore",
        proxy: {
            type: 'ajax',
            url: 'php/json.php?t=list',
            reader: {
                type: 'json',
                root: 'list'
            },   
        },    
        autoLoad: true,
        listeners: {
            load: function() {

                               // Do things on load (sync to offline store for example)

            }

        }

    });

これで、後でコードでストアにアクセスするために、storeIDを使用できます。たとえば、それをロードするには:

// myStore.load();をロードします

//アイテムを追加しますmyStore.add({id:* 、value:* });

于 2011-11-21T17:49:43.307 に答える