我有一条路线负责在财务应用中创建交易。当用户添加了交易时,他们可能希望进入更多交易,因此我不会过渡。我的问题是,如何重置附加到路线的模型,使其成为一个全新的记录(我使用的是ember数据)?
答案 0 :(得分:4)
保存记录后,通过调用路径model()
获取新记录并将其设置为相应控制器的model
属性:
App.TransactionRoute = Ember.Route.extend({
model: function() {
return this.store.createRecord('transaction');
}
actions: {
save: function() {
var model = this.modelFor('transaction');
var controller = this.controllerFor('transaction');
var route = this;
model.save().then(function(){
var newModel = route.model();
controller.set('model', newModel);
});
}
}
});
答案 1 :(得分:0)
您可以通过以下方式执行模型钩子调用路径中的刷新方法:
App.TransactionRoute = Ember.Route.extend({
model: function() {
return this.store.createRecord('transaction');
},
actions: {
newTransaction: function() {
this.refresh();
}
}
});
App.TransactionController = Ember.ObjectController.extend({
actions: {
save: function() {
self = this;
this.get('model').save().then(function(){
self.send('newTransaction');
});
}
}
});