我在我的 emberjs 项目中创建了一个模板作为部分模板,它适用于我的 ember 应用程序中的一个页面。当我试图在另一个页面中重用部分时,我需要使用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]”,所以它与某些东西有关。