Ember.js 带有HasMany的EmberJS取消(回滚)对象
假设我有一个ParentObject,它有许多项。我想在添加路由中实现取消功能,它将回滚所有内容 简而言之,我有: ParentObject,它是新的且是唯一的 而且可能 项目[]也将是新的和新的 所以基本上,我只是想杀死我新控制器里的那些人 下面是错误代码:Ember.js 带有HasMany的EmberJS取消(回滚)对象,ember.js,ember-data,Ember.js,Ember Data,假设我有一个ParentObject,它有许多项。我想在添加路由中实现取消功能,它将回滚所有内容 简而言之,我有: ParentObject,它是新的且是唯一的 而且可能 项目[]也将是新的和新的 所以基本上,我只是想杀死我新控制器里的那些人 下面是错误代码: this.get("items").forEach(function(item) { item.deleteRecord(); }); this.get("model").rollback(); // Some redirect
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}.
Uncaught错误:试图在状态为root.deleted.saved时处理事件'didSetProperty'。使用{name:number,oldValue:undefined,originalValue:undefined,value:undefined}调用。
如果有人能找出什么可能是错误的,并解释我做错了什么,我将不胜感激
编辑**
我在处理交易和清算关系时没有成功…我只是遇到了这个问题。对我来说,这是因为当我执行回滚时,有观察器在运行。我必须通过在函数中添加一个check来检查“model.isDeleted”来防止它们触发。如果不是,我就让它通过,否则就阻止它。这似乎解决了我的问题。谢谢,我也遇到了同样的问题,通过检查已删除