4

我有一个 ember-data 模型(父),它有几个嵌入式模型作为属性。当我更新嵌入式模型 hasMany 数组时,父级不会进入更新/脏状态。如何手动将父级发送到脏状态?

我没有运气就尝试了以下方法:

parent.set('isDirty', true);
parent.get('stateManager').goToState('dirty')
parent.get('stateManager').goToState('updated.uncommitted')
4

2 回答 2

5

终于找到了我自己的解决方案:

parent.get('stateManager').goToState('updated')

我还应该提到,当向子级添加 belongsTo 关联时,如果更改了 hasMany 关联,则父级将被弄脏。但是对于孩子的正常属性发生变化的情况,我仍然需要手动弄脏。

于 2012-05-20T11:59:48.383 回答
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

各州的来源

于 2015-01-16T00:34:35.550 回答