2013-04-22 40 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()現在有一個公開的問題,如果模型上的關係發生了變化,它將不會報告。

相關問題