我想在handlebar中迭代一个数组,并且每个元素的索引在我已经定义的其他json或数组中打印一个元素。
类似的东西:
{{#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 :(得分: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-composable-helpers
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}}