2013-07-25 87 views
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語句。或者是?

+0

你爲什麼不使用'#unless'呢?它基本上是'!#if'這就是你所需要的東西 – Bojangles

+0

仍然不起作用,沒有工作室:{{studio}}被打印出來。 – Vin

回答

0

看到這個jsFiddle。你不應該有任何問題。

documentation

您可以使用if助手來有條件地渲染塊。如果其參數 返回false,undefined,null,「」或[](「falsy」值), Handlebars將不會呈現該塊。

因此請檢查您的「工作室」價值。

代碼,我已撥弄。

HTML:

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

JS:

this.$el.html(temp({name1: 'stack'}));