我目前在express.js应用程序中处理handlebars.js.为了保持模块化,我将所有模板分成了部分.
我的问题:我找不到通过部分调用传递变量的方法.假设我有一个部分看起来像这样:
<div id=myPartial>
<h1>Headline<h1>
<p>Lorem ipsum</p>
</div>
Run Code Online (Sandbox Code Playgroud)
我们假设我使用名称"myPartial"注册了这个部分.在另一个模板中,我可以说:
<section>
{{> myPartial}}
</section>
Run Code Online (Sandbox Code Playgroud)
这工作正常,部分将按预期呈现,我是一个快乐的开发人员.但我现在需要的是一种通过此调用传递不同变量的方法,例如,如果给出标题,则在部分内部进行检查.就像是:
<div id=myPartial>
{{#if headline}}
<h1>{{headline}}</h1>
{{/if}}
<p>Lorem Ipsum</p>
</div>
Run Code Online (Sandbox Code Playgroud)
并且invokation应该看起来像这样:
<section>
{{> myPartial|'headline':'Headline'}}
</section>
Run Code Online (Sandbox Code Playgroud)
或者.
我知道,在渲染模板之前,我能够定义所需的所有数据.但我需要一种方法来解决这个问题.有可能吗?