Je veux implémenter la logique suivante avec Moustache:
{{#if users.length > 0}}
<ul>
{{#users}}
<li>{{.}}</li>
{{/users}}
</ul>
{{/if}}
// eg. data = { users: ['Tom', 'Jerry'] }
Dois-je modifier la structure users
pour répondre au besoin? Par exemple:
{{#hasUsers}}
<ul>
{{#users}}
<li>{{.}}</li>
{{/users}}
</ul>
{{/hasUsers}}
// eg. data = { hasUsers: true, users: ['Tom', 'Jerry'] }
Désolé, c'est peut-être trop tard. Mais j'avais des exigences similaires et j'ai trouvé une meilleure façon de le faire:
{{#users.length}}
<ul>
{{#users}}
<li>{{.}}</li>
{{/users}}
</ul>
{{/users.length}}
{{^users.length}}
<p>No Users</p>
{{/users.length}}
Exemple de travail ici: http://jsfiddle.net/eSvdb/
L'utilisation de {{# users.length}} fonctionne très bien si vous voulez que l'instruction interne se répète pour chaque élément du tableau, mais si vous voulez qu'une instruction ne s'exécute que ne fois, vous pouvez utiliser:
{{#users.0}}
...
{{/users.0}}
{{^users.0}}
...
{{/users.0}}