Como iterar sobre matriz no guidão modelo sem nome definido no modelo de
-
12-12-2019 - |
Pergunta
Eu tenho o modelo:
[
{
"ID": 5,
"email": "xx@vflbg.com"
},
{
"ID": 6495,
"email": "email@monkey.com"
}
]
Código para iterar no guiador:
{{#each xxx}}
<p>{{email}}</p>
{{/each}}
como posso definir xxx ?
Se JSON tinha nome no modelo como:
users: [
{
"ID": 5,
"email": "xx@vflbg.com"
},
{
"ID": 6495,
"email": "email@monkey.com"
}
]
Eu seria simples iterar no guidão, como:
{{#each users}}
<p>{{email}}</p>
{{/each}}
Solução
Se você tem isso:
var a = [
{
"ID": 5,
"email": "xx@vflbg.com"
},
{
"ID": 6495,
"email": "email@monkey.com"
}
];
Em seguida, basta fornecer o nome desejado quando você chamar o modelo compilado:
var t = Handlebars.compile($('#t').html());
var h = t({ users: a });
Que vai deixar você com o seu desejado HTML h
.
Demonstração: http://jsfiddle.net/ambiguous/ZgVjz/
Se você tem uma coleção construída a partir de dados de:
var c = new C(a);
Então você gostaria de chamar o modelo como esse:
var h = t({ users: c.toJSON() });
Demonstração: http://jsfiddle.net/ambiguous/uF3tj/
Outras dicas
Isso funciona também:
{{#each this}}
<p>{{email}}</p>
{{/each}}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow