【发布时间】:2014-04-10 22:08:37
【问题描述】:
我对使用 Ember.js 很陌生,这让我非常困惑。在ember.js中路由时有没有办法使用变量控制器?
我会试着解释一下:
我有一个模型列表,需要由不同的控制器控制并由不同的模板表示。例如:如果我有路由items/:item_id,我想做这样的事情:
App.ItemRoute = Ember.Route.extend({
model: function(params) {
return items[params.lesson_id]; // edit: should be item_id not lesson_id
},
setupController: function(controller, model) {
controller.set("model", model);
},
renderTemplate: function(controller, model) {
this.render(model.template || "item", {
controller: model.controller || "ItemController"
});
}
});
此处的余烬指南:http://emberjs.com/guides/routing/rendering-a-template/
显示使用带有控制器选项的this.render,但是当我传入任何内容(甚至是"ItemController")时,我收到此错误:
Error while loading route: Error: You passed controller: 'ItemController' into the render method, but no such controller could be found.
有没有更好的方法来做到这一点?
【问题讨论】:
标签: javascript ember.js