2014-09-11 57 views
0

我有一個句柄模板,它使用每個語句,一個嵌套在另一個語句中。 它工作得很好,直到內部每個遇到數據集中只有一個項目的項目,在這種情況下,它不輸出任何內容。 這裏是我的模板:Handlebars#每一個項目失敗

<div class="container"> 
    {{#each stories.story}} 
     <div class="story"> 
      <h1 class="mask"> 
       <span> 
        {{copy.heading}} 
       </span> 
      </h1> 
      <ul class="story-copy"> 
       {{#each copy.body.text}} 
        <li class="mask"> 
         <span>{{this}}</span> 
        </li> 
       {{/each}} 
      </ul> 
     </div> 
    {{/each}} 
</div> 

有趣的事情,就像我說的,是當UL被輸出時copy.body.text有一個以上的文本節點,它的工作原理。如果只有一個,它就是空的。 有一些我想念的東西。誰能幫忙?

+1

如果只有一個'copy.body.text',它可能是它實際上不是一個數組,而是一個簡單的字符串? – 2014-09-11 08:49:05

+0

你是完全正確的。我沒有寫xml-> json轉換器,事實證明它只是一個簡單的字符串。謝謝! – dudewad 2014-09-11 17:00:01

回答

1

無法重現您的錯誤。 你可以發佈你的數據嗎? 這個工作對我來說:http://jsfiddle.net/Schniz/7v0qawbd/

var data = { 
    stories: { 
     story: [{ 
      copy: { 
       heading: "hello", 
       body: { 
        text: [ 
         "Hey" 
        ] 
       } 
      } 
     }] 
    } 
}; 

然而,即使我真的不知道你的數據看起來如何,我覺得看起來像你的模板應該是有點不同:http://jsfiddle.net/Schniz/Ly8uh2u1/與看起來像數據使用:

var data = { 
    stories: [{ 
     copy: { 
      heading: "hello", 
      body: [ 
       "Hey" 
      ] 
     } 
    }] 
}; 
+1

你的問題解決了我的問題。我們正在將一個XML文件即時轉換爲JSON,如果只有一個項目,轉換器不會創建數組。嘖。 – dudewad 2014-09-11 16:58:21