我目前正在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>
或者。
我知道,在渲染模板之前,我能够定义所需的所有数据。但是我需要一种方法,就像刚才解释的那样。有没有办法?
车把零件有第二个参数,它成为零件的上下文:
{{> person this}}
在版本v2.0.0 alpha和更高版本中,您还可以传递命名参数的哈希值:
{{> person headline='Headline'}}