0

我正在根据从烂番茄 api 获得的数据进行电影搜索。我正在使用handlebars.js。到目前为止,我已经有了这个模板,它工作得很好。

    <div class="info">
        <h3>{{title}}</h3>
        <span> Year: {{year}} </span>
        <span> Studio:{{studio}} </span> 
        <span> Synopsis:{{synopsis}} <span>
    </div>

但是,有些电影没有提供工作室,所以我想在这种情况下不打印“工作室:”。这是我这样做的代码:

   {{#if studio}}
     <span> Studio:{{studio}} </span> 
   {{/if}}

我从 handebars.js 页面上提供的示例中复制了它。还是不行。谁能解释我错过了什么?我想没有必要使用 Handlebars.registerHelper 因为我使用的是这个简单的 if 语句。或者是吗?

4

1 回答 1

0

看到这个jsFiddle。你不应该有任何问题。

文档

您可以使用 if 助手有条件地渲染块。如果它的参数返回false、undefined、null、"" 或 [](一个“假”值),Handlebars 将不会渲染该块。

所以检查你的“工作室”价值。

我摆弄的代码。

HTML:

<p>{{name1}}</p> 
{{#if name2}}
   <p>{{name2}}</p>    
{{/if}}
<p>End</p>

js:

this.$el.html(temp({name1: 'stack'}));
于 2013-07-26T04:57:04.180 回答