2015-10-29 21 views
1

我一直在網上搜索幾個小時,我不知道爲什麼這段代碼不起作用。把手每個都有父母的上下文

我想通過一個數組來循環,其中是我想要循環的另一個數組。如果我嘗試在該對象中顯示一個變量,它將不會顯示任何內容。但是,如果我嘗試記錄「this」或我想記錄的值,它將顯示正確的上下文。

<div class="invoice-content"> 
    {{#usageData}} 
    <h2>{{title}}</h2> 
    <table class="bill-detail-table js-table-{{id}}"> 
     <thead> 
      <tr> 
      {{#columns}} 
       {{log this}} 
       {{log label}} 
       <th>{{label}}</th> 
      {{/columns}} 
      </tr> 
     </thead> 
    </table> 
    {{/usageData}} 
</div> 

當我登錄「這個」,我將顯示正確的上下文: Object {label: "Date", value: "foobar"} 當我登錄「標籤」,這也說明了正確的價值:「日期」。

但是,無論出於何種原因,<th>{{label}}</th>都保持爲空。但我可以通過顯示<th>{{columns.[0].label}}</th>來顯示正確的價值。除此之外,我還注意到它不遍歷整個列數組。它只遍歷該陣列一次。

我的輸入數據看起來如下: Handlebars input data

我將不勝感激任何幫助!

+0

您的代碼適用於我:http://jsfiddle.net/tomi77/fk5y2zab/ –

+0

感謝您回覆Tomasz!我將模板作爲html頁面的一部分運行,而不是腳本標記,以使內容編輯器更加清晰地編輯文本。但由於某種原因,它會在內聯html時崩潰,如果將html放入腳本標記中,則不會。可能是因爲瀏覽器去掉了一些無效的html(例如{{#colums}})。 –

回答

0

問題在於模板是內聯而不是腳本標記。我認爲瀏覽器做了一些冒險的事情,導致腳本崩潰。只要我將所有內容都移回到腳本標記中,問題就解決了!