2014-01-16 41 views
4

我正在學習Ember JS和Handlebars JS,所以我對此很新。無法循環嵌套的JSON數組(大寫屬性)與Eleb JS與Handlebars JS

我有一個問題,試圖通過嵌套的JSON數組循環。我無法通過「網頁環」在下面的JSON

這裏是JSON:

{ 
    "Pages": [ 
     { 
     "Id": 1, 
     "Name": "Page 1", 
     "Objects": [ 
      { 
      "Width": 100, 
      "Height": 200, 
      "Type": "Shape" 
      }, 
      { 
      "Width": 150, 
      "Height": 250, 
      "Type": "Image"  
      } 
     ] 
     }, 
     { 
     "Id": 2, 
     "Name": "Page 2", 
     "Objects": [ 

     ] 
     } 
    ], 
    "Settings": { 
     "URL": "http://THEURL", 
     "Location": true, 
     "Navigation": true 
    }, 
    "Id": 1, 
    "Title": "The Title", 
    "Description": "The Description" 
} 

這是我的車把模板:

<script type="text/x-handlebars" id="pages"> 
<div class="container"> 
    <div class="row"> 
     <h1>{{Title}}</h1> <!-- This works --> 
     <h2>{{Description}}</h2> <!-- This works --> 

     <!-- This doesn't work: --> 
     <ul> 
     {{#each Pages}} 
       <li>Page ID: {{Id}} <br /> Page Name: {{Name}} <br /> 
        <ul> 
        {{#each Objects}} 
        <li>{{Type}}</li> 
        {{/each}} 
        </ul> 
       </li> 
     {{/each}} 
     </ul> 

    </div> 
</div> 
</script> 

此外,當我剛剛加入:

{{Pages}} 
在車把模板

,在瀏覽器的輸出爲:

[object Object],[object Object] 

我不確定這是否是問題。

+0

到底是什麼問題了嗎? – gearsdigital

+0

如果不清楚,很抱歉。我無法循環訪問「網頁」中的「網頁」或「對象」。它在瀏覽器中只是空白。 – Amir

+1

如果我在http://tryhandlebarsjs.com嘗試你的代碼,它按預期工作。你在js控制檯中收到任何錯誤消息嗎? http://s14.directupload.net/images/140116/gup3egpg.png – gearsdigital

回答

7

大寫變量被認爲是全球範圍內,則需要完全限定它們或使它們小寫

http://emberjs.jsbin.com/UhIGevUf/1/edit

<div class="container"> 
    <div class="row"> 
     <h1>{{model.Title}}</h1> <!-- This works --> 
     <h2>{{model.Description}}</h2> <!-- This works --> 

     <!-- This doesn't work: --> 
     <ul> 
     {{#each page in model.Pages}} 
       <li>Page ID: {{page.Id}} <br /> Page Name: {{page.Name}} <br /> 
        <ul> 
        {{#each obj in page.Objects}} 
        <li>{{obj.Type}}</li> 
        {{/each}} 
        </ul> 
       </li> 
     {{/each}} 
     </ul> 

    </div> 
</div> 
+0

謝謝!這工作!看起來像我需要修復我的JSON格式正確。 – Amir