2016-11-28 43 views
0

我有以下對象:通行證對象局部模板

"hasDevices": { 
    "hasLaptops": { "title": "abc" } 
    "hasTablets": { "title": "abc" } 
} 

我敢迭代:

{{#each hasDevices }} 
    {{> hasDevicesPartial this}} 
{{/each }} 

這是hasDevicesPartial樣子:

{{#if hasLaptops }} 
    {{#each hasLaptops as |hasLaptop| }} 
    {{> anotherPartial hasLaptop }} 
    {{/each }} 
{{/if }} 

{{#if hasTablets }} 
    {{#each hasTablets as |hasTablet| }} 
    {{> anotherPartial hasTablet }} 
    {{/each }} 
{{/if }} 

問題我有,當我迭代hasDevices當我傳遞當前的對象,但hasDevicesPartial無法看到屬性hasLapt ops或hasTablets,除了裏面的內容即標題。我如何遍歷hasDevices,以便我能夠傳遞hasLaptops或hasTablets對象,以便hasDevicesPartial可以在if語句中訪問它,以檢查它是否存在。

+0

這一切似乎很困惑。你的數據結構毫無意義。前綴「has」表示布爾屬性。你爲什麼''在''hasDevices''上劃過每一個?它看起來像你的模板可能只是'{{> hasDevicesPartial this.hasDevices}}'。 – 76484

回答

1

你不應該在簡單的對象上使用{{#each}},這是爲數組設計的。如果你想要一個數組使用不同的結構。

{ "shops" : [ 
    { "Shop1" : 
      "hasDevices": { 
       "laptops": [ { "HP": "Spectre360" } , { "Microsoft" , "Surface book" } ] 
      } 
    }, 
    { "Shop2" : 
      "hasDevices": { 
       "laptops": [ { "Apple": "Macbook" } ], 
       "tablets": [ { "Apple": "Ipad" } ] 
      } 
    } 
} 

有了這樣你可以遍歷商店,然後在你的其他屬性

{{#each shops}} 
    {{> shopsPartial this}} 
{{/each }} 

的結構,你的部分

{{#if laptops }} 
    {{#each laptops as |hasLaptop| }} 
    {{> anotherPartial hasLaptop }} 
    {{/each }} 
{{/if }} 

{{#if tablets }} 
    {{#each tablets as |hasTablet| }} 
    {{> anotherPartial hasTablet }} 
    {{/each }} 
{{/if }}