Мне нужно перебрать данные JSON в ручках в операторе {{#each}}.
Это данные JSON,
{
"no": 0,
"address": "Here",
"name": "There",
"members": [
{
"email": "[email protected]",
"name": "SH",
"sex": "F"
},
{
"email": "[email protected]",
"name": "SH2",
"sex": "F"
}],
"diary": [
{
"ddate":"0820",
"dcheck":"y"
},
{
"ddate":"0821",
"dcheck":"n"
}]
}
и это код Handlebars.
Мне нужно перебрать свойства объекта 1st, 2nd, 3rd ... в списке участников.
Я хочу знать, что вставить вместо [0].
{{#each list}}
<tr>
<td><a href='bd-view.html?email = {{members.[0].email}}'>{{members.[0].email}}</a></td>
<td>{{members.[0].name}}</td>
<td>{{members.[0].sex}}</td>
<td>{{name}}</td>
<td>{{diary.[0].dcheck}}</td>
<td><input type = "checkbox"></td>
</tr>
{{/each}}
Это мой первый вопрос в stackoverflow.
Надеюсь увидеть, что кто-нибудь ответит на этот вопрос.
Большое спасибо, ура.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вы можете использовать следующее:
{{#each members}}
<tr>
<td><a href='bd-view.html?email = {{email}}'>{{email}}</a></td>
<td>{{name}}</td>
<td>{{sex}}</td>
<td>{{name}}</td>
{{#with (lookup ../diary @index)}}
<td>{{dcheck}}</td>
{{/with}}
<td><input type = "checkbox"></td>
</tr>
{{/each}}
Использование #each для итерации вашего массива и функции #lookup для доступа к относительной позиции массива diary
Я фактически поддержал ответ Матеуса, используя поиск в индексе. однако я сделал это по-другому, когда я манипулировал данными перед их передачей.
for (var i = 0; i < data.members.length; i++) {
data.members[i].dcheck = data.diary[i].dcheck;
}
вот рабочий пример http://jsfiddle.net/N2b5M/6750/
Вы можете мне кое-что прояснить? Вам нужно перебирать каждый объект в вашем списке
members, чтобы у вас было три элемента<td>для каждого члена, по одному дляemail,nameиsex, за которыми следуют остальные, или вы собираетесь иметь по одному<tr>для каждогоmembers?