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 brancher dans quelque chose comme ça d'abord?
{list:['foo','bar','baz']}
javascript
mustache
greim
la source
la source
Mustache.render('<ul>{{#.}}<li>{{.}}</li>{{/.}}</ul>',['foo','bar','baz']);
{{.}}
,{{1}}
ou quelque chose de semblable à moustache (5).J'ai eu le même problème ce matin et après une petite expérimentation, j'ai découvert que vous pouvez utiliser le {{.}} Pour faire référence à l'élément actuel d'un tableau:
la source
Mustache.render('<ul>{{#.}}<li>{{.}}</li>{{/.}}</ul>',['foo','bar','baz']);
Mustache.render('<ul>{{#.}}{{.}}{{/.}}</ul>', {yourList: ['foo','bar','baz']});
En vous basant sur la réponse de @ danjordan, cela fera ce que vous voulez:
retour:
la source
{a:'foo',b:'bar',c:'baz'}
... Comment faire des références anonymes lors d'une itération sur des objets?Voici les exemples pour rendre un tableau multidimensionnel dans un modèle:
Exemple 1
Exemple 2
Pour le test, enregistrez les exemples ci-dessus dans le fichier appelé 'test.js', exécutez la commande suivante en ligne de commande
la source
Je ne pense pas que la moustache puisse faire ça! (étonnamment) Vous pouvez parcourir une liste d'objets, puis accéder aux attributs de chaque objet, mais vous ne pouvez pas sembler itérer sur une simple liste de valeurs!
Vous devez donc transformer votre liste en:
puis votre modèle serait:
Pour moi, cela semble être un problème grave avec Moustache - tout système de modèle devrait pouvoir boucler sur une liste de valeurs simples!
la source