ember.js - EmberJS 使用 HasMany 取消(回滚)对象

标签 ember.js ember-data

假设我有一个 有许多 项的 ParentObject。我想在我的 Add 路由中实现取消功能,这将回滚所有内容。

简而言之,我有:

IsNewIsDirty 的父对象

并且可能...

Items[] 也将是 IsNewIsDirty

所以基本上,我只是想杀死我的 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}. 

如果有人能找出可能有问题的地方并解释我做错了什么,将不胜感激!

编辑 **

我试过交易并清除关系但没有成功...

最佳答案

我刚遇到这个。对我来说,这是因为我在执行回滚时有观察员在运行。我不得不通过在函数中添加一个检查来检查“model.isDeleted”来防止它们被触发。如果不是,我让它通过,否则阻止它。这似乎为我解决了这个问题。

关于ember.js - EmberJS 使用 HasMany 取消(回滚)对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20852285/

相关文章:

ember.js - 使用 Ember.js 更改背景颜色

ember.js - 从 Controller 或组件访问当前路由名称

javascript - 如何创建一棵 promise 树?

javascript - Ember.js 数据冲突解决/冲突失败

javascript - 无法从 ember 中的路线操作获取模型

ember.js - 使用 Ember.js 为每个模型添加额外的 url 参数

ruby-on-rails-3 - Turbolinks 与 JS MVC 框架?

ember.js - ember-i18n 使用 Handlebars Runtime 预编译翻译

javascript - ember 中的三态复选框

javascript - 如何使嵌入的 hasMany 关系与 ember 数据一起使用