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>