我正在使用带有grunt汇编的把手,比如我有一个名为'page'的数据字段的页面,我可以将该数据字段传递给部分名称(在另一部分中)吗?
例如:
{{ sidebar-*dashboard-one* }}
,其中信息中心 - 一个是从页面传入的变量答案 0 :(得分:1)
您不能将变量作为部分名称通常方式传递。有两种可能的解决方案:
1)如果您知道所有可能的名称,则可以静态生成平面模板并根据需要使用它。
初始数据:
{
"names": [
{ "name": "dashboard-one" },
{ "name": "dashboard-two" }
]
}
静态模板:
{{#each names}}
\{{#if name.{{name}} }}
\{{> sidebar-{{name}} }}
\{{/if}}
{{/each}}
将产生:
{{#if dashboard-one }}
{{> sidebar-dashboard-one }}
{{/if}}
{{#if dashboard-two }}
{{> sidebar-dashboard-two }}
{{/if}}
然后你传递名字'仪表板 - 一个'在模板上下文中:
{ "name": "dashboard-one" }
并执行部分sidebar-dashboard-one
。
2)编写自定义助手。 Handlebars内部使用方法Handlebars.VM.invokePartial
来调用partials。 See, how it works