2014-03-19 89 views
0

我有一個#if的條件,我測試過是錯誤的,但它無論如何進入。這裏是車把腳本:Handlebars #if #each in #if

{{#each this.properties}} 
    <span class="values"> 
     {{#if is-object-property}} 
      {{#each values}} 
       <span class="value" style="color:blue;">{{this}}</span> 
      {{/each}} 
     {{else}} 
      {{#each values}} 
       <span class="value">{{this}}</span> 
      {{/each}} 
     {{/if}} 
    </span> 
{{/each}} 

的事情是,所有我所顯示的是藍色的,而我的目標看起來像這樣:

properties: Array[3] 
0: Object 
    code: "pays" 
    reliability: 100 
    values: Array[1] 
1: Object 
    code: "pnb" 
    reliability: 100 
    values: Array[1] 
2: Object 
    code: "source" 
    is-object-property: "true" 
    reliability: 100 
    values: Array[2] 

正如你所看到的,除了對象2,對象0和1應具有undefined結果is-object-property。他們確實有這樣的結果,這就是爲什麼我不明白爲什麼我全部都是藍色的。

我以爲就進入了狀態,但因爲它是車把網站上寫着:「您可以使用,如果幫助有條件地呈現塊。如果它的參數返回falseundefinednull""[](一個。」麻煩「的價值),把手不會渲染該塊。」

(請參閱 「如果塊幫手」 在http://handlebarsjs.com/

回答

0

這解決了這個問題:

<span class="values"> 
    {{#each values}} 
     {{#if ../is-object-property}} 
      <span class="value" style="color:blue;">{{this}}</span> 
     {{else}} 
      <span class="value">{{this}}</span> 
     {{/if}} 
    {{/each}} 
</span>