我有一个ember-data模型(父级),它有几个嵌入式模型作为属性。当我更新嵌入式模型hasMany数组时,父级不会进入更新/脏状态。如何手动将父级发送到脏状态?
我没有运气试过以下内容:
parent.set('isDirty', true);
parent.get('stateManager').goToState('dirty')
parent.get('stateManager').goToState('updated.uncommitted')
答案 0 :(得分:5)
终于找到了我自己的解决方案:
parent.get('stateManager').goToState('updated')
我还应该提到,当向子节点添加belongsTo关联时,如果更改了hasMany关联,则父节点将变脏。但是,对于孩子的正常属性发生变化的情况,我仍然需要手动弄脏。
答案 1 :(得分:0)
如果您正在使用Ember data
(v1.0.0> x)。
parent.get('stateManager').goToState('updated')
不再工作了。 现在您应该使用:
parent.transitionTo('updated');
这些是与ember数据一起提供的有效状态的层次结构:
* root
* deleted
* saved
* uncommitted
* inFlight
* empty
* loaded
* created
* uncommitted
* inFlight
* saved
* updated
* uncommitted
* inFlight
* loading