View 余烬如何在不干扰正常行为的情况下添加额外的命名插座进行查看

View 余烬如何在不干扰正常行为的情况下添加额外的命名插座进行查看,view,ember.js,outlet,View,Ember.js,Outlet,我试图在我的索引页中呈现三个额外的插座,一切正常,除了设置至少一个插座后,正常行为会被中断。更清楚地说,这就是我正在做的 我的IndexRoute路线 renderTemplate: function() { this._super(); this.render('header', { into: 'index', outlet: 'header' }); this.render('sidebar', { into: 'index', outlet: 'sidebar'

我试图在我的索引页中呈现三个额外的
插座
,一切正常,除了设置至少一个插座后,正常行为会被中断。更清楚地说,这就是我正在做的

我的
IndexRoute
路线

renderTemplate: function() {
    this._super();
    this.render('header', { into: 'index', outlet: 'header' });
    this.render('sidebar', { into: 'index', outlet: 'sidebar' });
    this.render('right_side', { into: 'index', outlet: 'right_side' });
}
现在,我的路由已映射,因此
索引
是一个资源,其中包含所有其他路由。“我的视图”包含所有设置为渲染的
出口和一个未命名的出口,这会导致出现问题

如果我没有明确指定要渲染的内容以及在
IndexRoute
中的位置,一切正常,我会在未命名的outlet中渲染模板,链接正常,未命名的outlet会获得正确的内容,但一旦我设置了任何命名的outlet,未命名的outlet将停止获取任何内容,尽管我正在调用
\u super()

因此,我的问题是如何在不干扰同一
资源中未命名插座的正常工作的情况下设置其他命名插座

更新

范例

我不确定多个
插座的问题是什么,但我使用
部分
帮助器解决了这个问题

<script type="text/x-handlebars" data-template-name="index">
 {{#linkTo index/foo}}Go to Foo{{/linkTo}} <br>
 {{#linkTo index/bar}}Go to Bar{{/linkTo}} <hr>
 text inside index template
 <hr>
 {{outlet}}
 {{render "sidebar"}}
</script>

{{{linkTo index/foo}}转到foo{{/linkTo}
{{{#链接到索引/bar}转到bar{{/linkTo}
索引模板内的文本
{{outlet}} {{呈现“侧边栏”}
这是一个例子

更新

JSFIDLE已更新为使用
{{render}
帮助程序,而不是
{{partial}


如果您使用的是
{{partial}
帮助程序,它将使用现有上下文。如果需要重用模型/控制器,最好使用
{{render}
,因为它会为您创建一个新的视图/控制器/模板上下文。然后,您可以使用
modelFor
controllerFor
钩子。

您可以为此制作一个JSFiddle吗?用fiddle更新的问题您的
{outlet}
不都需要在您的应用程序模板中吗?是的,但在这种情况下,侧栏必须与“index”共享该控件,我还有三个额外的
插座
,这将压倒我的控制器,我也不知道如何为控制器设置多个型号。或者有没有办法为
partial
的视图设置单独的控制器?@Giedrius您最好使用
{{render}}
而不是
{partial}
<代码>{render}
将为您提供自己的“视图/控制器/模板”上下文。谢谢,
{{render}
正是我需要的,我应该知道这一点。