我正在根据我从腐烂的西红柿api获得的数据进行电影搜索。我正在使用handlebars.js。到目前为止,我已经有了这个模板,它运行得很好。
<div class="info">
<h3>{{title}}</h3>
<span> Year: {{year}} </span>
<span> Studio:{{studio}} </span>
<span> Synopsis:{{synopsis}} <span>
</div>
然而,有些电影没有提供工作室,所以我想在这种情况下,不会打印“Studio:”。这是我的代码:
{{#if studio}}
<span> Studio:{{studio}} </span>
{{/if}}
我从handebars.js页面上提供的示例中复制了它。它仍然无效。任何人都能解释一下我缺少的东西吗?我想没有必要使用Handlebars.registerHelper,因为我使用这个简单的if语句。或者是吗?
答案 0 :(得分:0)
请参阅此jsFiddle。你不应该有任何问题。
您可以使用if帮助器有条件地渲染块。如果它是 参数返回 false,undefined,null,“”或[] (“falsy”值), 把手不会渲染块。
请检查“工作室”的价值。
我摆弄的代码。
<强> HTML:强>
<p>{{name1}}</p>
{{#if name2}}
<p>{{name2}}</p>
{{/if}}
<p>End</p>
<强> JS:强>
this.$el.html(temp({name1: 'stack'}));