1

这是我的代码:

在控制器中,我在现有记录中设置了一个值:

this.record.set('description', 'test');        
this.getFlightsList().getStore().sync();

然后我明确地调用sync()。我可以看到对具有 1 个对象的服务器的正确调用

{id: 1, description: 'test'} 

和正确的回应:

{"message":"success","data":[],"returnCode":0,"success":true}

但是,如果我尝试编辑另一条记录,每次它还会发送最后修改的记录,因此它会发送一个包含 2 个不同记录的对象,即当前记录和最后一个记录。

   [ {id: 1, description: 'test'}, {id: 2, description: 'test2'}]

等等。

事实上,如果我分析商店,我会看到dirty: true最后一条记录 (id:1) 上的属性,但在 sync() 成功后它应该是 false。(?!)

有任何想法吗?

难道是我必须将修改后的数据放入响应中?如:

{"message":"success","data":[{id:1, description:'test'}],"returnCode":0,"success":true}

肿瘤坏死因子

4

1 回答 1

0

sync() 是一个异步函数。尝试在回调中检查您的记录:

this.getFlightsList().getStore().sync({
    callback: function (batch) {

        console.log(batch.operations);// your sync'ed records 

    }
});
于 2014-01-28T01:35:13.030 回答