我在我的emberjs项目中创建了一个模板作为部分,它可以很好地用于我的ember应用程序中的一个页面。当我尝试在另一个页面中重复使用partial时,我需要使用model
关键字使其在两个页面中都能正常工作。
我有样品把手模板
{{SomeProperty.NestedProperty}}
成了
{{model.SomeProperty.NestedProperty}}
为什么我需要从第一个更改为第二个?
我的路线与此类似:
this.resource("foretak", {path: "/foretak"}, function() {
this.route('opprett', { path: "/nytt/:org_nr" });
this.route('detaljer', { path: "/:id" });
});
第一条路线(opprett)使用了我不必指定model
的模板,但是对于第二条路线,我需要为所有路线添加前缀以使其适用于两条路线。
路线:
SFag.ForetakOpprettRoute = Ember.Route.extend({
model: function(params) {
return params.org_nr;
},
setupController: function(controller, model) {
var opprettForetak = SFag.OpprettForetak.get(model);
controller.set('model', opprettForetak);
}
});
SFag.ForetakDetaljerRoute = Ember.Route.extend({
model: function(params) {
return params.id;
},
setupController: function(controller, id) {
var foretak = SFag.Foretak.get(id);
controller.set('model', foretak);
}
});
控制器为空。方法SFag.Foretak.get
和SFag.OpprettForetak.get
从不同的端点获取相同类型的数据。
此外,如果我写'{{SomeProperty}}',我会在两种情况下看到'[Object object]',所以它会被绑定。