把手阻止助手“如果”不起作用

时间:2013-07-25 10:12:30

标签: handlebars.js

我正在根据我从腐烂的西红柿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语句。或者是吗?

1 个答案:

答案 0 :(得分:0)

请参阅此jsFiddle。你不应该有任何问题。

来自documentation

  

您可以使用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'}));