gpt4 book ai didi

javascript - 通过 handlebars partial 传递变量

转载 作者:IT王子 更新时间:2023-10-29 02:39:09 27 4
gpt4 key购买 nike

我目前正在处理 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>

左右。

我知道,在呈现模板之前,我能够定义我需要的所有数据。但是我需要一种方法来做到这一点,就像刚才解释的那样。有什么办法吗?

最佳答案

Handlebars partials 采用第二个参数,该参数成为 partial 的上下文:

{{> person this}}

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

{{> person headline='Headline'}}

你可以看到这些场景的测试:https://github.com/wycats/handlebars.js/blob/ce74c36118ffed1779889d97e6a2a1028ae61510/spec/qunit_spec.js#L456-L462 https://github.com/wycats/handlebars.js/blob/e290ec24f131f89ddf2c6aeb707a4884d41c3c6d/spec/partials.js#L26-L32

关于javascript - 通过 handlebars partial 传递变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11523331/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com