1

我有两个存储:localstorage 和服务器上的 json,我正在尝试将数据从 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", { 扩展: "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 回答