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

时间:2015-05-05 12:29:37

标签: html handlebars.js assemble

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

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

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

我还没有在汇编文档中找到方法,所以我尝试了另一种方式。我试着做两个#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)。

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

问候

1 个答案:

答案 0 :(得分:1)

这对于任何Handlebars模板都是常见的,而不是专门的Assemble。

汇总使用handlebars-helpers,我们最近已升级到Handlebars 3.0,因此您可以将subexpressionsoris帮助者结合使用:

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

编辑:这可能不起作用,因为is帮助程序是块帮助程序。您可能必须编写自己的帮助程序才能返回值。要么将somevaranothervar更改为真值,而不是yesno。然后你可以直接使用or助手:

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