如何在Ember应用程序的主模板中指定部分

时间:2018-03-20 16:06:04

标签: javascript templates ember.js handlebars.js

是否有可能在Ember应用程序主模板(application.hbs)中指定命名部分,然后在路径模板中覆盖它们?即,做出这样的事情:

application.hbs

...
<div id="main-content">{{outlet}}</div>
<div id="bottom-panel">{{yield "bottom-panel"}}</div>
...

然后,在路线模板中覆盖{{yield&#34; bottom-panel&#34;}}内容。

1 个答案:

答案 0 :(得分:0)

尚未使用ember本身。这有一些插件,例如ember-block-slots

然而有is an RFC for this,所以它将来会成为余烬的一部分。

同样有趣的可能是ember-wormholeember-elsewhere

这有趣的是看看你想要阻止流向哪个方向。如果您想将内容放在父组件的其他位置,请查看ember-wormholeember-elsewhere。如果您希望组件指定父级可以放置内容的多个位置,则ember-block-slots是正确的选择。此外,如果您有这些的东西,您想要放入子组件中的位置是组件,您可以使用普通的余烬:

{{#my-component footer=(component 'my-super-footer')}}
  Main stuff
{{/my-component}}

然后在my-component内执行此操作:

<div class="main">
  {{yield}}
<div>
<div class="footer">
  {{component footer}}
</div>