我有一个 ember-data 模型(父),它有几个嵌入式模型作为属性。当我更新嵌入式模型 hasMany 数组时,父级不会进入更新/脏状态。如何手动将父级发送到脏状态?
我没有运气就尝试了以下方法:
parent.set('isDirty', true);
parent.get('stateManager').goToState('dirty')
parent.get('stateManager').goToState('updated.uncommitted')
我有一个 ember-data 模型(父),它有几个嵌入式模型作为属性。当我更新嵌入式模型 hasMany 数组时,父级不会进入更新/脏状态。如何手动将父级发送到脏状态?
我没有运气就尝试了以下方法:
parent.set('isDirty', true);
parent.get('stateManager').goToState('dirty')
parent.get('stateManager').goToState('updated.uncommitted')
终于找到了我自己的解决方案:
parent.get('stateManager').goToState('updated')
我还应该提到,当向子级添加 belongsTo 关联时,如果更改了 hasMany 关联,则父级将被弄脏。但是对于孩子的正常属性发生变化的情况,我仍然需要手动弄脏。
如果您使用的是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