Я относительно новичок в Handlebars, так что это может быть что-то простое, что я упускаю, но я не могу вывести конкретные элементы каждого объекта в массиве. Я просмотрел несколько постов и прочитал документацию по рулю, но пока не нашел решения. В основном я пытаюсь вывести информацию о доступности для ряда временных интервалов и их статусов, назначенных одному элементу. Вот мой код ...
Данные
Pitch: {
"name": "test",
"price": 11,
"city": "testCity",
"availability": [
{
"status": "reserved",
"dt": "2018-11-16T20:00:00Z"
},
{
"status": "available",
"dt": "2018-11-16T19:00:00Z"
}
]
}
index.js
router.get('/availability/:id', function(req, res, next) {
Pitch.findById(req.params.id, function (err, docs){
var indPitch = [];
indPitch.push(docs);
res.render('pitch/availability', { title: 'Availability', indPitch: indPitch });
});
availability.hbs
{{#each indPitch}}
<h3><a href="/availability/{{ id }}">{{ name }}</a></h3>
<p class = "description">{{ city }}</p>
{{#each availability}}
{{status}}
{{dt}}
{{/each}}
<p class = "description">Price per hour : €{{ price }}</p>
<a href="/reserve/{{id}}" class="btn btn-primary pull-right" role="button">Select</a>
{{/each}}
С указанным выше кодом руля на экран выводятся только город и цена. Если я изменю {{#each Availability}} на {{#each this}}, а затем получу доступ к объекту как {{Availability. [0] .status}} или {{Availability. [1] .dt}} и т. Д. Затем я могу вывести этот элемент на экран.
Но, что мне нужно сделать, это просмотреть цикл «Доступность» для элемента и отобразить все дату / время и их статус. Есть идеи, что я делаю не так? Если вам нужна дополнительная информация, дайте мне знать.