小编典典

通过把手传递变量

html

我目前正在express.js应用程序中处理handlebars.js。为了使事情保持模块化,我将所有模板都分成了部分。

我的问题 :我找不到通过部分调用传递变量的方法。假设我有一个部分看起来像这样:

<div id=myPartial>
    <h1>Headline<h1>
    <p>Lorem ipsum</p>
</div>

假设我用“ myPartial”这个名字注册了这个部分。然后,在另一个模板中,我可以说:

<section>
    {{> myPartial}}
</section>

效果很好,部分将按预期渲染,我是一个快乐的开发人员。但是,我现在需要的是一种通过此调用传递不同变量的方法,例如在部分标题内检查是否给出标题。就像是:

<div id=myPartial>
    {{#if headline}}
    <h1>{{headline}}</h1>
    {{/if}}
    <p>Lorem Ipsum</p>
</div>

发票应如下所示:

<section>
    {{> myPartial|'headline':'Headline'}}
</section>

或者。

我知道,在渲染模板之前,我能够定义所需的所有数据。但是我需要一种方法,就像刚才解释的那样。有没有办法?


阅读 240

收藏
2020-05-10

共1个答案

小编典典

车把零件有第二个参数,它成为零件的上下文:

{{> person this}}

在版本v2.0.0 alpha和更高版本中,您还可以传递命名参数的哈希值:

{{> person headline='Headline'}}
2020-05-10