Ember数据快照以及如何检测更改?

时间:2017-11-23 13:32:55

标签: ember.js ember-data

我正在编写自己的适配器/序列化器。为了将数据发送到后端,我必须检测DS.Snapshot和原始Ember对象中的更改。对于普通属性,可以 changedAttributes(),但我没有找到如何检测hasMany关系中的变化的方法。

我可以使用snapshot.hasMany(' foo')和changedAttributes()来检测新关系。但是这种方法无法找到已删除的关系。

1 个答案:

答案 0 :(得分:0)

Ember(2.x)不跟踪关系(例如hasMany),但可以使用几乎可以执行它的ember-addon ember-data-change-tracker。它允许您(自动)保存当前的关系状态,然后您可以比较这个已保存的' (=旧州)与当前状态。你必须自己找到差异。适配器的一个简单示例:

<MyListItem />

感谢Christoper指出了正确的方向。