111 votes

Mustache peut-il itérer un tableau de niveau supérieur ?

Mon objet ressemble à ceci :

['foo','bar','baz']

Et je veux utiliser un modèle de moustache pour en produire quelque chose comme ceci :

"<ul><li>foo</li><li>bar</li><li>baz</li></ul>"

Mais comment ? Dois-je vraiment le transformer en quelque chose comme ça d'abord ?

{list:['foo','bar','baz']}

-2voto

Nick Perkins Points 2431

Je ne pense pas que Moustache puisse faire ça ! (surprenant) Vous pouvez itérer sur une liste d'objets, puis accéder aux attributs de chaque objet, mais vous ne pouvez pas itérer sur une simple liste de valeurs !

Donc, vous devez transformer votre liste en :

[ {"value":"foo"},{"value":"bar"},{"value":"baz"} ] 

et votre modèle serait alors :

<ul>
  {{#the_list}}
  <li>{{value}}</li>
  {{/the_list}}
</ul>

Pour moi, cela semble être un grave problème avec Mustache - tout système de modèle devrait être capable de boucler sur une liste de valeurs simples !

4 votes

Il suffit d'utiliser {{.}}. Voir ma réponse ci-dessous.

2 votes

Les votes négatifs sont trompeurs. Cette réponse est correcte dans la mesure où {{.}} ne fait pas partie de la norme mustache, bien qu'elle soit prise en charge par certaines implémentations. Il n'y a pas de moyen portable de le faire.

0 votes

Celui-ci est juste, et très utile pour le rendu multidimensionnel. Veuillez trouver mon exemple ci-dessous

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X