Javascript 余烬数据:isDeleted在记录中未更改,但在record.currentState中已更改
使用余烬1.3.0-beta.4和余烬数据1.0.0-beta.4 我正试图通过一个简单的Javascript 余烬数据:isDeleted在记录中未更改,但在record.currentState中已更改,javascript,ember.js,ember-data,state,delete-record,Javascript,Ember.js,Ember Data,State,Delete Record,使用余烬1.3.0-beta.4和余烬数据1.0.0-beta.4 我正试图通过一个简单的deleteRecord()调用删除一条记录。但是,当我在记录上激发save()时,它会执行PUT而不是DELETE record.deleteRecord(); record.save(); 执行一个PUT 结果是isDeleted的设置不正确。或者,它永远不会改变 record.get('isDeleted'); // false record.get('isDirty'); // false r
deleteRecord()
调用删除一条记录。但是,当我在记录上激发save()
时,它会执行PUT
而不是DELETE
record.deleteRecord();
record.save();
执行一个PUT
结果是isDeleted
的设置不正确。或者,它永远不会改变
record.get('isDeleted'); // false
record.get('isDirty'); // false
record.deleteRecord();
record.get('isDeleted'); // false
record.get('isDirty'); // true
但是,当前状态
似乎已更改
record.deleteRecord();
record.get('isDeleted'); // false
record.get('currentState.isDeleted'); // true
record.get('currentState.stateName'); // "root.deleted.uncommitted"
其他记录正常删除。这段代码很少(十分之一)表现出预期的行为,这让我相信这是一个排序问题
是否有任何原因,删除记录会这样做?您能在jsbin中复制吗?这里有一个简单的例子,效果很好,我不知道您可以在
下设置{async:true}
。你有什么好的文档我可以看一下吗?也许就是这样。我甚至没有使用异步关系:)因为实现仍然在强化,所以没有太多的文档,所以我发现了async:true
的作用。本质上,它返回一个承诺,而不是结果值。相当整洁!