Ember模型生命周期,并恢复到原始状态
我正在努力理解关于烬模型生命周期的一切。 我已经创建了这个jsfiddle来说明我的问题。 当点击列表中的一个条目,编辑一个值,然后单击版本链接返回列表时,出现以下错误:
未捕获的错误:试图处理事件loadedData
上,而在状态rootState.loaded.updated.uncommitted。 用{}调用
这是什么造成的? 我知道对象状态现在很脏,但是如何在打开列表时强制刷新所有对象?
此外,如果表单没有保存,如何放弃对属性的所有更改的任何建议? 我在考虑克隆对象,在编辑表单中使用该克隆,并在保存时将其与原始文件合并。 没有我想象的那么容易。
使用最新的ember和ember-data。
经过与@tchak的快速讨论后,解决方案可以覆盖Version路由的退出函数,并回滚当前模型。
App.VersionRoute = Ember.Route.extend({
exit: function() {
var controller = this.controllerFor(this.templateName),
content = controller.get('content');
if (content.get('isDirty')) {
content.get('transaction').rollback();
}
this._super();
}
});
链接地址: http://www.djcxy.com/p/64071.html