检查车把中是否存在变量

时间:2014-06-22 14:18:41

标签: javascript handlebars.js

我有一个javascript对象,如:

var data = {
"current" : 0,
"max" : 5,
"reward" : 5
};

我正在用这样的数据创建一个带有这些数据的HTML,如:

<div>
<span>Current : {{current}}</span>
<span>Max : {{max}}</span>
<span>Reward: {{reward}}</span>
</div>

现在的问题是,奖励属性可能并不总是存在于数据中,在这种情况下,我不想显示该范围。所以,我做了以下几点: -

{{#if reward}}
 <span>Reward: {{reward}}</span>
{{/if}}

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

1 个答案:

答案 0 :(得分:17)

这是设计iffalsy值的检查,请参阅handlebarsjs.com

  

您可以使用if帮助器有条件地渲染块。如果它是   参数返回false,undefined,null,&#34;&#34;或[](a&#34; falsy&#34;值),   把手不会渲染块。

includeZero选项使用如下:

{{#if reward includeZero=true}}
{{/if}}

您可以在此处查看帮助程序的实现:on github