EmberJS使用HasMany取消(回滚)对象

时间:2013-12-31 05:32:26

标签: ember.js ember-data

假设我有一个 hasMany 项的ParentObject。我想在我的添加路由中实现我的取消功能,它将回滚所有内容。

简而言之,我有:

IsNew IsDirty 的父对象

并且可能......

项目[]也将是 IsNew IsDirty

所以基本上,我只是想在NewController中杀死那些......

这是错误的代码:

this.get("items").forEach(function(item)
{
   item.deleteRecord();
});

this.get("model").rollback();

// Some redirection stuff

看起来很简单,但它会崩溃......

这是崩溃的控制台输出

Uncaught Error: Attempted to handle event `didSetProperty` on <App.ParentObject:ember572:fixture-0> while in state root.deleted.saved. Called with {name: number, oldValue: undefined, originalValue: undefined, value: undefined}. 

如果有人能弄清楚可能有什么问题,并解释我做错了什么,我将非常感激!

编辑**

我玩弄交易并清除关系但没有成功......

1 个答案:

答案 0 :(得分:2)

我刚刚碰到这个。对我而言,这是因为我在执行回滚时有观察员在操作。我必须通过在函数中添加一个检查来检查“model.isDeleted”来防止它们被触发。如果不是,我会通过,否则阻止它。这似乎解决了我。