J'essaie de spécifier l'index d'un élément dans un tableau dans un modèle de guidon:
{
people: [
{"name":"Yehuda Katz"},
{"name":"Luke"},
{"name":"Naomi"}
]
}
en utilisant ceci:
<ul id="luke_should_be_here">
{{people[1].name}}
</ul>
Si ce qui précède n'est pas possible, comment pourrais-je écrire un assistant qui pourrait accéder à un élément spécifique dans le tableau?
javascript
handlebars.js
lukemh
la source
la source
Expecting 'ID'
erreur avec {{user.links.websites.1}} ou {{user.links.websites.0}}{{ websites.[0] }}
.Ce qui suit, avec un point supplémentaire avant l'index , fonctionne comme prévu. Ici, les crochets sont facultatifs lorsque l'index est suivi d'une autre propriété:
Cependant, les crochets sont requis dans:
Dans ce dernier, l'utilisation du numéro d'index sans les crochets en obtiendrait un:
En passant: les crochets sont (également) utilisés pour la syntaxe de segment littéral , pour faire référence à des identificateurs réels (pas des numéros d'index) qui autrement seraient invalides. Plus de détails dans Qu'est-ce qu'un identifiant valide?
(Testé avec guidon en YUI.)
Mise à jour 2.xx
Vous pouvez maintenant utiliser l'
get
assistant pour cela:bien que si vous obtenez une erreur sur l'index devant être une chaîne, faites:
la source
{{#with people.1}}
solution a fonctionné pour moi, en utilisantcom.github.jknack:handlebars:4.1.2
.la source
Si les fonctionnalités non documentées ne sont pas votre jeu, la même chose peut être accomplie ici:
Puis dans un modèle
J'ai écrit ce qui précède avant de mettre la main sur
Je ne peux pas voir quelqu'un aller trop loin avec le guidon sans écrire vos propres aides.
la source
Si vous souhaitez utiliser des variables dynamiques
Cela ne fonctionnera pas:
Tu as besoin de faire:
voir l' aide à la recherche de guidon et les sous-expressions du guidon .
la source
Veuillez essayer ceci, si vous voulez aller chercher le premier / dernier.
la source
Pendant que vous bouclez dans un tableau avec
each
et si vous souhaitez accéder à un autre tableau dans le contexte de l'élément en cours, faites-le comme ceci.Voici les données d'exemple.
Voici le guidon pour obtenir le premier élément du
attr
tableau.Cela produira
la source
this
fonctionnerait à la place dethis.[0]
La syntaxe suivante peut également être utilisée si le tableau n'est pas nommé (seul le tableau est transmis au modèle):
la source
Dans mon cas, je voulais accéder à un tableau à l'intérieur d'un assistant personnalisé comme ça,
Ce qui n'a pas fonctionné, mais la réponse suggérée par @julesbou a fonctionné.
Code de travail:
J'espère que cela t'aides! À votre santé.
la source