我有一个details: DS.attr('recursive_object')
自定义转换(这是一个递归对象)。Ember Data:如何为记录设置isDirty?
可以在适当位置编辑details
attr,而不会改变实际的对象引用(例如,编辑细节attr的子细节)。但是,这不会触发父记录的isDirty
标志。
如何手动通知DS.Model记录已更新?
模型定义:
App.MyRecord = DS.Model.extend
details: DS.attr "recursive object"
编辑details
# record is an instance of App.MyRecord
# makes a change to the record's details attr
record.makeChangeToDetails()
record.get('isDirty') # still false because Ember doesn't know that a sub-detail changed.
事情我已经尝试:
结束语record.makeChangeToDetails()
与will/didSetProperty
电话:
record.send 'willSetProperty', name: 'details'
record.makeChangeToDetails()
record.send 'didSetProperty', name: 'details'
调用notifyPropertyChange
record.notifyPropertyChange 'details'
调用set
并将其传递同一个对象
record.makeChangeToDetails()
record.set 'details', record.get('details')
我也试着发送各种其他DS.model规定从这里事件:https://github.com/emberjs/data/blob/master/packages/ember-data/lib/system/model/states.js 包括didChangeData
, becameDirty
但这些都没有工作。
任何想法?