检查车把中是否存在变量

Ind*_*dra 11 javascript handlebars.js

我有一个javascript对象,如:

var data = {
"current" : 0,
"max" : 5,
"reward" : 5
};
Run Code Online (Sandbox Code Playgroud)

我正在使用车把装载这个数据的HTML,例如:

<div>
<span>Current : {{current}}</span>
<span>Max : {{max}}</span>
<span>Reward: {{reward}}</span>
</div>
Run Code Online (Sandbox Code Playgroud)

现在的问题是,奖励属性可能并不总是出现在数据中,在这种情况下,我不想显示该跨度.所以,我做了以下: -

{{#if reward}}
 <span>Reward: {{reward}}</span>
{{/if}}
Run Code Online (Sandbox Code Playgroud)

并且它正在工作,如果奖励属性不存在,它没有显示跨度,但如果奖励的值为0,它也没有显示跨度,任何人都可以建议如何解决它.我可以使用一些辅助函数.但是,如果不使用任何帮助函数,我可以这样做吗?

alb*_*jan 20

这是通过设计if检查falsy值来查看handlebarsjs.com

您可以使用if帮助器有条件地渲染块.如果其参数返回false,undefined,null,""或[]("falsy"值),Handlebars将不会渲染块.

有一个includeZero选项使用如下:

{{#if reward includeZero=true}}
{{/if}}
Run Code Online (Sandbox Code Playgroud)

你可以在这里看到帮助器的实现:在github上

  • @stackers 使用 `array.length` (2认同)