我有一个 Ember 列表和一个编辑表单。每次列表中选定的项目更改时,编辑表单都会丢弃任何更改并加载新模型。
我的问题是无法丢弃更改,因为停用事件不会触发。
例如,从url/favs/123/edit
到url/favs/456/edit
停用(和退出)事件不会触发。因此,无法正确丢弃任何更改。
这是我所指的代码的一部分:
App.Router.map(function() {
this.resource('favs', { path: '/favs' }, function() {
this.route('new');
this.route('edit', { path: ':fav_id/edit' })
});
});
[...]
App.FavsEditRoute = Ember.Route.extend({
deactivate: function() {
var model = this.get('currentModel');
if(model && model.get('isDirty')) {
model.get('transaction').rollback();
}
},
model: function(params) {
return App.Fav.find(params.fav_id);
},
});