当模型为get('transaction').rollback()
时,如何在deleteRecord()
路径挂钩中执行模型的deactivate
或isNew
?我无法弄清楚如何从钩子中访问模型。
app.js
App.Router.map(function() {
this.resource('users', function() {
this.route('new');
})
});
App.UsersNewRoute = Ember.Route.extend({
model: function() {
return App.User.createRecord();
},
activate: function() {
this.controllerFor('users').set('newUserCreate', true);
},
deactivate: function() {
this.controllerFor('users').set('newUserCreate', false);
}
});
答案 0 :(得分:3)
这是在模型上执行rollback()
的代码:
deactivate: function() {
this.controllerFor('users').set('newUserCreate', false);
if (this.currentModel.get('isNew')) {
this.currentModel.get('transaction').rollback();
}
特别感谢@ sly7_7解决这个问题。
答案 1 :(得分:0)
路由对象了解其控制器。你也应该能够这样做:
deactivate: function() {
var model = this.get('controller.content');
if (model.get('isNew')) {
model.deleteRecord();
};
};