2017-09-08 3 views
0

Je veux faire un itération sur un tableau dans le guidon, et avec l'index de chaque élément j'imprime un élément dans un autre json ou tableau que j'ai défini.Itérer le tableau et avec l'indice de l'élément imprimer un autre tableau. Handleblar - Ember.js

quelque chose comme ceci:

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

Mon élément est quelque chose comme ceci:

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"} 
    } 
}); 

mais pitoyablement il est impossible le faire dans le guidon.

Certaines personnes me recommandent d'utiliser des propriétés calculées, mais comment puis-je créer une propriété calculée pour cette mission?

Je ne sais pas si ces 2 derniers jours ne sont pas mes jours chanceux ou ce qui se passe, parce que je pense que c'est quelque chose de simple, mais je ne peux pas avec ça, de l'aide s'il vous plaît?

+0

Qu'est-ce que les «groupes», pourquoi le parcourez-vous? avez-vous besoin de 'groupe'? Parce que, pour cela, vous pouvez faire une boucle dans 'adGroup' directement avec' each-in'. – Lux

Répondre

1

Si vous structurez adGroup en tant que tableau et non un objet

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"} 
] 

Vous pouvez utiliser Ember-composable-aides

ember install ember-composable-helpers

et obtenir la valeur comme

{{#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

Si groups est un groupe d'annonces, la lecture en boucle du tableau pourrait simplement être 'data = group.ad1' l'index ne serait pas nécessaire. – BrandonW