2011-11-21 66 views
1

我有一個項目列表,每個項目可以有一個Photo項目或不。Handlebarsjs對象數組:類型錯誤:無法讀取屬性'ID'的未定義

我正在循環使用this

這是罰款時,所有項目都有一個Photo

<script id='library-template' type="text/x-handlebars-template"> 
    {{#this}} 
     <div class='box'> 
      <a href='#insight' data-insight_id="{{Item.id}}"> 
      {{#if Photo.0.id }} 
        {{Photo.0.photo}} 
      {{/if}} 
      </a> 

      <div class='subtitle'> 
       <h2>{{Item.title}}</h2> 
       <p>Added: {{Item.created}}</p> 
      </div> 
     </div> 
    {{/this}} 
</script> 

噹噹前對象沒有照片對象:

TypeError: Cannot read property 'id' of undefined

我的對象的格式:

[ 
Object 
    Item: Object 
    Photo: Array[1] 
    Rating: Array[0] 
    Tag: Array[0] 
    __proto__: Object 
, 
Object 
    Item: Object 
    Photo: Array[0] 
    Rating: Array[0] 
    Tag: Array[0] 
    __proto__: Object 
, 
Object 
, 
Object 
, 
Object 
] 

第二個對象沒有Photo記錄所有其他對象這樣做。

如何訪問照片對象,確保在照片沒有內容時不會出現錯誤?

注意:測試{{#if Photo.0}}而不是{{#if Photo.0.id}}結果:
錯誤:解析第5行的錯誤:...}「> {{##如果照片0}} {{照片0 ---------------------- ^期待'ID'

+0

修正:萬一有人在這裏添加在同一個問題上運行:\t \t \t \t {{#如果Photo.length}} \t \t \t \t \t \t {{Photo.0.photo}} \t \t \t \t {{/如果}} – Wils

回答

4

放在這裏以防別人需要:

{{#if Photo.length}} {{Photo.0.photo}} {{/if}} 
相關問題