View 替换此内容时在插座中呈现内部

View 替换此内容时在插座中呈现内部,view,ember.js,outlet,View,Ember.js,Outlet,我在模板中呈现内容时遇到了一些困难 这似乎是一项容易的任务,但我无论如何都做不到 有人能帮我吗 应用程序视图 <script type="text/x-handlebars" id="application"> <header class="logo"><!-- ... --></header> <nav><!-- ... --></nav> <hr class="top" /> {{outlet}}

我在模板中呈现内容时遇到了一些困难

这似乎是一项容易的任务,但我无论如何都做不到

有人能帮我吗

应用程序视图

<script type="text/x-handlebars" id="application">
<header class="logo"><!-- ... --></header>
<nav><!-- ... --></nav>
<hr class="top" />
{{outlet}}
<hr class="bottom" />
<footer><!-- ... --><div class="clear"></div>
</footer>
</script>
然后链接
expositionicos/2
应用程序出口上显示id=2的exposition页面,对吗

ExbitionView:

<script type="text/x-handlebars" id="exibition">
  <div class="exibitions">
    <h1>{{#link-to 'exibition'}}{{title}}{{/link-to}}</h1>
    <div class="left">
      <h2>Apresentação</h2>
      {{{text}}}
    </div>
    <div class="right"><h2>Artistas</h2>
      <ul>
        {{#each artist in artists}}
          <li>{{#link-to 'exibition.artist' artist}}{{artist.name}}{{/link-to}}</li>
        {{/each}}
      </ul>
    </div>
  <div class="clear"></div>
</div>
</script>

当呈现ExbitionView时,使用renderTemplate(和要清除的
断开Outlet
)填充它,但是如果用户从
/exibitions/2/artists/2
返回到
/exibitions/2
,使用后退按钮甚至页面上的链接,内容将不会再次显示。

您非常接近正确的方法

按照您的建议,用插座替换
{{text}
把手标签,如下所示:

<div class="left">
    <h2>Apresentação</h2>
    {{outlet}}
</div>

阿普雷森塔昂
{{outlet}}
然后,添加一个显式索引模板:

<script type="text/x-handlebars" data-template-name="exhibition/index">
    {{text}}
</script>

{{text}}
以及一个匹配的
exploationIndexRoute
类,用于处理此路由的模型设置(其中包含文本数据)


现在您有了一个出口,您的
艺术家
路线将正确地渲染到此出口并替换
{{text}}
,而
展览索引路线
将在您使用“后退”按钮时正确地重新填充数据。

您能将其放入JSFIDLE吗?我想你正在做一些我最近不得不做的事情,但如果我能看到的话,你的进展会更容易想象出来?神奇的重力行星!你救了我一天!只是一个观察,有必要
this.modelFor('exibition')
获取
ExibitionIndexRoute
上的父模型。谢谢大家!
<div class="left">
    <h2>Apresentação</h2>
    {{outlet}}
</div>
<script type="text/x-handlebars" data-template-name="exhibition/index">
    {{text}}
</script>