我有一个加载所有模型的路由,以及一个允许用户添加新模型的嵌套路由。
App.Router.map(function() {
this.resource("foo", {path: "/foo"}, function() {
this.route("add", {path: "/add"});
});
});
我的添加模板看起来像这样(非常基本)
{{input value=wat}}
这是我的索引模板中的 linkTo
{{#linkTo 'foo.add'}}Add A New Model{{/linkTo}}
当我单击添加按钮时,我只需使用 $.ajax 创建模型并转换回列表路由。一切都很好,直到我再次单击“添加”链接。
当添加路线第二次从上方加载模板时,它仍然显示我之前输入的“wat”值。我希望它不会保留任何状态,因为每次我“添加”一个新模型时它应该不知道任何以前的模型数据。
如何使用 ember 1.1.2+ 实现这一目标
更新
我采用的方法是重置路由的 setupController 方法中的每个元素(因为每次加载控制器时都会调用它)。
App.FooAddRoute = Ember.Route.extend({
model: function(params) {
var parentId = 1;
return Ember.Object.create({'bar': parentId});
},
setupController: function(controller, model) {
this._super(controller, model);
controller.set('bazz', '');
}
});