我正在编写自己的适配器/序列化程序。为了将数据发送到后端,我必须检测到DS.Snapshot和原始Ember对象中的更改。对于普通属性,changedAttributes()是可能的,但我没有找到一种方法来检测hasMany关系中的变化。
我可以使用snapshot.hasMany('foo')和changedAttributes()来检测新的关系。但是这种方法无法找到被删除的关系。
发布于 2017-11-24 14:57:41
成员(2.x)不跟踪关系(例如hasMany),但它可以使用成员-附件-数据变化跟踪器,几乎可以做到这一点。它允许您(自动)保存当前的关系状态,然后您可以将此“保存”(=旧状态)与当前状态进行比较。你得自己找个不同的地方。适配器中的一个简单示例:
snapshot.hasMany('users').length <-- current count of relations
snapshot.record.savedTrackerValue('users').length <-- old count of relations感谢克里斯多夫为我指明了正确的方向。
https://stackoverflow.com/questions/47456787
复制相似问题