2013-04-22 41 views
1

我想检测新记录中的更改。但是,从创建它的那一刻起,这个记录就变得崭新而又肮脏。如何检测余烬数据中的新记录是否已更改

var record = transaction.createRecord(App.ContentOfSomeSort, data); 
    record.get('isNew'); // true 
    record.get('isDirty'); // true 

是否有一个事件或属性,我可以观察/听它告诉我什么时候记录发生了变化?我认为这样做会很好,但是一旦我创建它就很脏。

回答

-1

我不知道ember.js(也许里面有一些本地函数/事件?),但是不能通过设置比较以前记录值和实际值的间隔来完成吗?

+0

是的。我可以,但我不会那样做。我将设置一个观察者,用于在使用间隔之前设置更改状态的所有ember-data记录的字段。我希望烬具有一个潜在的机制,我可以用来检查,重新发明轮子之前。 – 2013-04-23 00:09:56

+0

你想检测哪个变化? – 2013-04-23 00:29:09

+0

对任何属性的更改。理想情况下,它会触发一个事件,我可以听到它。类似于record.on('update',function(){}),但属性更改也可以工作。 – 2013-04-23 03:51:14

0

Object.keys(model.changedAttributes()).length === 0如果你只是检查普通属性将正常工作。 changedAttributes()现在有一个公开的问题,如果模型上的关系发生了变化,它将不会报告。

相关问题