假设我有一个小部件将显示图形,另一个小程序将在典型的仪表板中显示表格。由于小部件outter控件的一致性,我想将引导面板放在一个模板中,该模板对所有小部件都显示一致,类似于下面的模板:
<template name="widgetBox">
<div class="col-xs-12 col-sm-6 col-md-4">
<div class="panel panel-default">
<div class="panel-heading">
{{this.title}}
<span class="pull-right clickable" data-effect="fadeOut"><i class="fa fa-chevron-down"></i></span>
</div>
<div class="panel-body">
<!-- I want the widget to go here -->
</div>
</div>
</div>
</template>
我不知道如何通过迭代集合来实现这一点,因为我想用每个小部件主体自己的模板来控制它们的外观。例如,两个表视图小部件可能共享一个包含排序或过滤的模板,而两个图小部件可能具有完全不同的要求和布局。
是否可以像上面的"widgetBox"模板一样使用样板html,同时在面板主体中放置另一个模板?
当您希望一个外部模板重用多个内部模板时,您可以使用路由器和{{> yield}}
模式或使用动态模板
前者通常用于主页面布局,尽管布局中可以有多个yield。
后者可能更适合小部件。
{{> Template.dynamic template=myTemplateName [data=data] }}
其中myTemplateName
是辅助函数的名称,该函数返回与您创建的模板名称相对应的字符串。