我有一个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,它也没有显示跨度,任何人都可以建议如何解决它。我可以使用一些辅助函数。但是,如果不使用任何帮助函数,我可以这样做吗?
答案 0 :(得分:17)
这是设计if
对falsy
值的检查,请参阅handlebarsjs.com
您可以使用if帮助器有条件地渲染块。如果它是 参数返回false,undefined,null,&#34;&#34;或[](a&#34; falsy&#34;值), 把手不会渲染块。
includeZero
选项使用如下:
{{#if reward includeZero=true}}
{{/if}}
您可以在此处查看帮助程序的实现:on github