我正在尝试在具有不同内容的多个页面中使用单个组件。为此,我尝试使用partial
模板方法。但我发现我的方式是错的。有谁建议我正确的方法?
路线名称:my-route
和my-service
都使用名为my-component
的相同组件。我的组件也总是有一些默认信息..但部分是如何在不同的页面上显示不同的内容?
我的部分位于模板partials
文件夹中。
这是我的尝试:
<h2>This is my Route page</h2>
{{#my-component}}
<!-- default content should be here -->
{{partial "partials/my-service-partial"}}
{{/my-component}}
这是我的现场演示:Live Demo in Twiddle
答案 0 :(得分:1)
为了能够将传递的块渲染到组件,您应该使用{{ yield }}
,因此组件的模板应如下所示:
{{!-- templates/component/my-component.hbs --}}
<div class="parent">
<h2>Loaded from component default</h2>
{{ yield }}
</div>
您可以在指南中找到更多信息 - Wrapping Content in a Component