我想检测新记录的变化。但是,从我创建记录的那一刻起,记录就是新的和肮脏的。
var record = transaction.createRecord(App.ContentOfSomeSort, data);
record.get('isNew'); // true
record.get('isDirty'); // true
是否有我可以观察/收听的事件或属性告诉我记录何时更改?我认为 isDirty 会对此有好处,但是一旦我创建它就很脏。
我想检测新记录的变化。但是,从我创建记录的那一刻起,记录就是新的和肮脏的。
var record = transaction.createRecord(App.ContentOfSomeSort, data);
record.get('isNew'); // true
record.get('isDirty'); // true
是否有我可以观察/收听的事件或属性告诉我记录何时更改?我认为 isDirty 会对此有好处,但是一旦我创建它就很脏。
看起来didSetProperty
可能是您正在寻找的东西
https://github.com/emberjs/data/blob/master/packages/ember-data/lib/system/model/attributes.js#L65
Object.keys(model.changedAttributes()).length === 0
如果您只是检查普通属性,它将起作用。 changedAttributes()
现在有一个未解决的问题,如果模型上的关系已更改,它将不会报告。
我不知道 ember.js(可能里面有一些原生函数/事件?),但不能通过设置将先前记录值与实际值进行比较的间隔来完成吗?