假设我有一个 ParentObjecthasMany项目。我想在我的应用程序中实现取消功能Add将回滚所有内容的路线。
简而言之,我有:
父对象IsNew and IsDirty
并且有可能...
项目[]也将是IsNew and 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}.
如果有人能找出可能有问题的地方并解释我做错了什么,我将不胜感激!
EDIT **
我刚刚遇到了这个。对我来说,发生这种情况是因为当我执行回滚时,有观察者在运行。我必须通过在函数中添加检查来检查“model.isDeleted”来防止它们触发。如果不是,我就让它通过,否则阻止它。这似乎为我解决了这个问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)