1

サーバー上にlocalstorageとjsonの2つのストアがあり、jsonからローカルにデータをダウンロードしようとしています。何が問題なのか見てください:

/store/Notes.js

Ext.define("NotesApp.store.Notes", {
    extend: "Ext.data.Store",
    requires: "Ext.data.proxy.LocalStorage",
    config: {
        storeId: 'Notes',
        model: "NotesApp.model.Note",
        proxy: {
            type: 'localstorage',
            id: 'notes-app-store'
        },
        sorters: [{
            property: 'dateCreated',
            direction: 'DESC'
        }],
        grouper: {
            sortProperty: "dateCreated",
            direction: "DESC",
            groupFn: function (record) {

                if (record && record.data.dateCreated) {
                    return record.data.dateCreated.toDateString();
                } else {
                    return '';
                }
            }
        }
    }
});

/store/Online.js

Ext.define( "NotesApp.store.Online"、{extend: "Ext.data.Store"、config:{

       storeId: 'Online',
       proxy: {
           type: 'jsonp',
           url: 'http://server.com/made/qa.php',
           reader: {
               type: 'json'
               //rootProperty: 'results'
           }
       },
       autoLoad: false,
       listeners: {
           load: function() {   
                console.log("updating");
               // Clear proxy from offline store
               Ext.getStore('Notes').proxy.clear();
               console.log("updating1");
               // Loop through records and fill the offline store
               this.each(function(record) {
                         console.log("updating2");
                         Ext.getStore('Notes').add(record.data);

               });

               // Sync the offline store
               Ext.getStore('Notes').sync();
               console.log("updating3");
               // Remove data from online store
               this.removeAll();
                console.log("updated");
           }

       },
       fields: [
                {
                name: 'id'
                },
                {
                name: 'date_created'
                },
                {
                name: 'question'
                },
                {
                name: 'answer'
                },
                {
                name: 'type'                    
                },
                {
                name: 'author'
                }
                ]
       } });

更新する必要があるときに電話しましたExt.getStore('Online').load();

ただし、「更新」後、コンソールには他に何も表示されません。

何が悪かったのかしら?

4

1 に答える 1

2

Ext.getStore('Notes').getProxy().clear()代わりに使用する

于 2012-05-22T15:25:57.133 に答える