我一直在尝试清理我的一些代码,并希望将“侧边栏”部分重构为视图/模板组合,因为有些导航元素需要由渲染的子视图控制出口。
目前看起来像这样
Map (Route/View/Template)
Sidebar (partial) - has {{outlet}}
Other routes render in Sidebar {{outlet}}
现在我想让侧边栏有一个View,而不仅仅是一个模板,因为我想根据在那里渲染的内容来控制一些UI更改。
这是一个jsbin,其示例不起作用。我也试过了{{render 'sidebar'}}
,但这也没用。顺便使用RC.8。
修改
另一次尝试here。
答案 0 :(得分:1)
侧边栏模板应该在应用程序模板中呈现(而不是索引模板),否则当您输入/ test路径时它不会显示。
然后在App.TestRoute的renderTemplate中,您可以在2个出口(侧边栏和主要)中渲染模板。
App.TestRoute = Ember.Route.extend({
renderTemplate: function () {
this.render('test');
this.render('test_sidebar',{
into: 'sidebar',
outlet: 'sidebar'
});
}
});
请参阅此jsbin示例。
我希望它有所帮助。