我正在尝试在Ember 1.11中处理关于模板中对象代理的弃用消息,并且遇到了混乱。
在编辑路线上,例如,我在模型钩子中加载了一条记录。然后,使用setupController hoook,我正在设置其他集合变量以启用选择菜单。这引起了关于代理的弃用通知;我试图通过使用Ember.RSVP.hash作为模型设置模型钩子中的所有数据来解决这些问题。
我现在有一个问题,如果我直接加载页面,模型是正确的,但如果我从链接访问,模型是不正确的。我找到了类似问题的信息,这些问题导致我尝试使用setupController来设置模型,基于this.get('model'),希望能从路径的模型功能中获取模型,但这也行不通。正在调用setupController操作,但由于某些原因它似乎没有影响模板,这是我遇到障碍的地方。
show.hbs:
{{link-to model}}
edit.hbs - 如果直接页面加载则显示数据,如果从show link-to
访问则为空{{model.foo.name}}
编辑路线:
renderTemplate: function (controller,model) {
this.render('foo/form');
},
model: function (project) {
return Ember.RSVP.hash({
foo: this.store.find("foo", foo.foo_id),
bar: this.store.find('bar')
});
}
也尝试过编辑路线:
renderTemplate: function (controller,model) {
this.render('foo/form');
},
model: function (project) {
return Ember.RSVP.hash({
foo: this.store.find("foo", foo.foo_id),
bar: this.store.find('bar')
});
},
setupController: function (controller, model) {
controller.set('model', this.get('model');
}
答案 0 :(得分:0)
我找到了一个简单的方法,不确定是否有更好的" Ember方式" - 我看到因为link-to正在传递模型,所以假设不需要模型钩子;将model.id而不是model作为link-to参数传递会导致调用模型钩子。
{{link-to model.id}}
代替:
{{link-to model}}