迭代数组并使用元素索引打印另一个数组。把手 - Ember.js

Iterate array and with index of element print another array. Handleblar - Ember.js

我想遍历 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"}
  }
});

但遗憾的是,在车把中无法做到这一点。

有些人建议我使用计算属性,但我如何为这个任务创建一个计算属性 属性?

我不知道这最后两天是不是我的幸运日还是发生了什么,因为我认为这很简单,但我做不到,请帮忙吗?

如果将 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}}