在 Assemble 中设置一个新变量(或组合两个比较助手)?

Set a new Variable in Assemble (or combine two comparison helpers)?

有没有办法在 assemble (assemble.io) 的局部中设置新变量?或者是否可以组合两个比较助手,例如:

{#is somevar "yes" || anothervar "no"}

我的部分内容中有 HTML,只有在两个不同变量之一为真时才应显示。如果只有一个变量,我只写 {{#is somevar "yes"}},但我需要 #is-两个变量的助手。

我没有在 assemble-docs 中找到方法,所以我尝试了另一种方法。我尝试做两个 #is-Helper,例如:

{{#is somevar "yes"}}
  // HTML
{{/is}}
{{#is anothervar "no"}}
  // HTML (the same as above)
{{/is}}

但这确实是多余的...所以我尝试在#is 中设置一个变量,例如:

{{checkvar = 0}}
{{#is somevar "yes"}}
  {{checkvar = 1}}
{{/is}}
{{#is anothervar "no"}}
  {{checkvar = 1}}
{{/is}}

所以我只需要检查一个变量 (checkvar)。

但是这一切都行不通...那么在 assemble 中有没有办法做到这一点?

问候

这对于任何 Handlebars 模板都是通用的,而不是特定的 Assemble。

Assemble 将 handlebars-helpers and we've recently upgraded to Handlebars 3.0 so you can use a combination of subexpressionsoris 助手一起使用:

{{#or (is somevar "yes") (is anothervar "no")}}
  <div>somevar = yes or anothervar = no</div>
{{/or}}

编辑:这可能不起作用,因为 is 助手是块助手。您可能需要编写自己的助手来仅 return 该值。或者将 somevaranothervar 更改为真值,而不是 yesno。然后你可以直接使用 or 助手:

{{#or somevar anothervar}}
{{/or}}