2017-08-10 5 views
0

Je suis itérer sur un objet tableau utilisant express-handlebars et seulement chaque élément dom deuxième qui est créé doit avoir un attribut spécifique.Handlebars Express personnalisés Si Helper

Quelque chose comme ceci:

<div class=""></div> 
<div></div> 
<div class=""></div> 
<div></div> 

Je remarque qu'il ya une valeur @size qui contient l'index de l'itération.

Mon code à ce jour est à la recherche comme ceci:

{{#each todoGroups}} 
     {{#if @index}} 
      <div class=""></div> 
     {{/if}} 
{{/each}} 

Mais comment puis-je ajouter une condition à l'instruction if qui évalue seulement à true pour chaque deuxième élément?

Je suis coincé à essayer de mettre en œuvre cette fonctionnalité ceci est mon approche jusqu'à présent:

function hbsHelpers(hbs) { 
    return hbs.create({ 
    helpers: { // This was missing 
     isEven: function(value, options) { 

     }, 

     // More helpers... 
    }, 

    }); 
} 

Répondre

0

Guidons est malheureusement assez mal à ces choses, et je pense que vous devez faire quelques aides personnalisées comme celui que vous faites.

Je vous suggère d'écrire votre propre bloc auxiliaire qui prend trois arguments et effectue les contrôles logiques de base (comme et, ou, supérieure, inférieure, module), quelque chose comme:

{{#ifCond varOne "%" 2}} 
{{/ifCond}} 

Et la L'implémentation ifCond helper dispose d'un commutateur pour gérer différents opérateurs.