【发布时间】:2015-10-15 17:07:50
【问题描述】:
我目前有一条路线,当我转换回它时,它会给我一个很大的错误,堆栈跟踪无法帮助我找出问题所在。
处理路由时出错:project.details 断言失败:在已销毁对象上调用 set 错误:断言失败:调用 set 在被破坏的物体上 在新的错误(本机) 在 Error.EmberError (http://starqa.fmr.com/assets/vendor.js:22615:21) 在 Object.Ember.default.assert (http://starqa.fmr.com/assets/vendor.js:15716:13) 在 Object.set (http://starqa.fmr.com/assets/vendor.js:26367:22) 在exports.default.mixin.Mixin.create.set (http://starqa.fmr.com/assets/vendor.js:41034:20) 在 Ember.Object.extend.flushCanonical (http://starqa.fmr.com/assets/vendor.js:69769:14) 在 ember$data$lib$system$relationships$state$has_many$$ManyRelationship.flushCanonical (http://starqa.fmr.com/assets/vendor.js:71525:22) 在 Queue.invoke (http://starqa.fmr.com/assets/vendor.js:11425:18) 在 Object.Queue.flush (http://starqa.fmr.com/assets/vendor.js:11490:13) 在 Object.DeferredActionQue
通过浏览我的路线并注释掉一些东西,我在我的 projects 路线中发现了这一点:
export default Ember.Route.extend(AuthenticatedRouteMixin, {
model: function(params) {
if (params.q) {
return this.store.find('project', params);
} else {
var _this = this;
Ember.run(function() {
_this.store.unloadAll('project');
});
return this.store.findAll('project', {reload: true});
}
}
如果我注释掉第 7-9 行:
/*
Ember.run(function() {
_this.store.unloadAll('project');
});
*/
然后错误消失并且转换工作。这段代码是由其他人编写的,我认为它与从商店中刷新模型有关,但我无法弄清楚为什么它会导致这个“调用集在被破坏的对象”错误。
任何帮助将不胜感激。
【问题讨论】:
标签: ember.js routes ember-data