0

ご覧のように。FIELD を更新すると、モデルの TESTVALUE を表示する ALERT を受け取ります。初めて空になると、ストアが空になります。しかし、2回目はROGERが表示されるはずです。しかし、そうではありません。私のストアは一度も同期されていません。

誰かが私を助けることができますか?

これが私のコードです:

更新されたデータを受け取るコントローラー (チェック、イベントを受け取ります)

Ext.define('Prototype.controller.MyController', {
extend: 'Ext.app.Controller',

config: {
    control: {
        "textfield": {
            change: 'onTextfieldChange'
        }
    }
},

onTextfieldChange: function(textfield, newValue, oldValue, eOpts) {
    Ext.getStore('localdb').load();
    var test = Ext.getStore('localdb').last().get('testValue');
    console.log(test);
    Ext.getStore('localdb').add({testvalue: 'ROGER'});
    Ext.getStore('localdb').sync();
}

});

モデル :

Ext.define('Prototype.model.LocalData', {
extend: 'Ext.data.Model',

config: {
    identifier: {
        type: 'uuid'
    },
    proxy: {
        type: 'localstorage',
        id: 'test1'
    },
    fields: [
        {
            name: 'testValue'
        }
    ]
}
});

店 :

Ext.define('Prototype.store.LocalStore', {
extend: 'Ext.data.Store',

requires: [
    'Prototype.model.LocalData'
],

config: {
    model: 'Prototype.model.LocalData',
    storeId: 'localdb',
    syncRemovedRecords: false,
    proxy: {
        type: 'localstorage',
        id: 'test1'
    }
}
});
4

2 に答える 2

1

record.setDirty()同期を実行する前に、レコードに追加してください。

于 2013-05-28T18:05:17.070 に答える