2017-09-08 82 views
0

我想遍歷一個數組在車把,並與每個元素的索引打印一個元素在我已定義的其他JSON或數組中。迭代數組並使用元素索引打印另一個數組。 Handleblar - Ember.js

是這樣的:

{{#each groups as |group index|}} 
    {{#sticky-element top=41}} 
     {{ad-component data=adGroup.[index].ad2 class="average-ad"}} 
    {{/sticky-element}} 
{{/each}} 

我的組件其是這樣的:

import Ember from 'ember'; 

export default Ember.Component.extend({ 
    adGroup: { 
    '0': {"ad1": "div-gpt-ad-123-0", "ad2": "div-gpt-ad-123-4"}, 
    '1': {"ad1": "div-gpt-ad-123-1", "ad2": "div-gpt-ad-123-5"}, 
    '2': {"ad1": "div-gpt-ad-123-2", "ad2": "div-gpt-ad-123-3"} 
    } 
}); 

,但可惜這是不可能在車把做到這一點。

有人推薦我使用計算屬性,但是我怎樣才能爲這個任務創建一個計算屬性?

我不知道這兩天是不是我的幸運日或者發生了什麼,因爲我覺得這很簡單,但是我不能用這個,有些幫助嗎?

+0

值什麼是「組」,爲什麼你要循環播放它?你甚至需要'組'嗎?因爲,爲此,您可以直接使用'each-in'循環訪問'adGroup'。 – Lux

回答

1

如果結構adGroup作爲和數組,而不是一個對象

adGroup: [ 
    {"ad1": "div-gpt-ad-123-0", "ad2": "div-gpt-ad-123-4"}, 
    {"ad1": "div-gpt-ad-123-1", "ad2": "div-gpt-ad-123-5"}, 
    {"ad1": "div-gpt-ad-123-2", "ad2": "div-gpt-ad-123-3"} 
] 

你可以使用燼分解性,傭工

ember install ember-composable-helpers

,並得到像

{{#each groups as |group index|}} 
    {{#sticky-element top=41}} 
    {{ad-component data=(get (object-at index adGroup) 'ad1') class="small-ad"}} 
    {{/sticky-element}} 
{{/each}} 
+0

如果組是adGroup,則循環遍歷數組可能只是'data = group.ad1',那麼索引就不是必需的。 – BrandonW

相關問題