【发布时间】:2012-11-02 14:14:07
【问题描述】:
我似乎无法在 Route.connectOutlets 方法中指定自定义控制器。
这个想法是我不想为每个视图创建空控制器,因为我不相信这首先是正确的实现。
简而言之,如果我采用Gordon Hempton's example 并稍微更新路由器项目/项目路由中的代码
item: Ember.Route.extend({
route: '/:item_id',
connectOutlets: function(router, context) {
var item = router.getPath('itemsController.content').objectAt(context.item_id);
router.get('itemController').set('content', item);
router.get('applicationController').connectOutlet('item');
}
})
到
item: Ember.Route.extend({
route: '/:item_id',
connectOutlets: function (router, context) {
var item = router.getPath('itemsController.content').objectAt(context.item_id);
var applicationController = router.get('applicationController');
applicationController.connectOutlet({
viewClass: router.namespace.ItemView,
context: item,
controller: applicationController
});
}
})
项目选择停止工作,没有任何错误。 是我在代码中出错了,还是不支持控制器的多个视图的场景?
更新:
ItemView模板如下:
<script type="text/x-handlebars" data-template-name="item">
<h1>{{title}}</h1>
{{{description}}}
</script>
【问题讨论】: