Использую Nodejs, express, express-handlebars версия пакета 5.1.0
В express-handlebars используется последняя на данный момент версия "handlebars": "^4.7.6"
Долго мучился с нативными (встроенные) helpers, особенно с lookup
В итоге пришел к выводу, что либо я что-то не так делаю фундаментально на уровне подключения express-handlebars либо сам express-handlebars не работает с "handlebars": "^4.7.6" так как нужно.
Потому что:
Пример официальный:
https://handlebarsjs.com/examples/bu...er-lookup.html
Никаких ошибок с у меня нет, код работает, работают другие нативные (встроенные) helpers
Сделал такое в качестве повторение указанного примера:
app.get('/incoming', function(req, res) {
res.render('incoming', {
user : req.user.toObject(),
isIncoming: true,
obj : {
people: ["Nils", "Yehuda"],
cities: [
"Darmstadt",
"San Francisco",
]
}
});
});
wiews/incoming.hbs:
{{#each obj.people }}
{{.}} lives in {{lookup ../cities @index}}
{{/each}}
В итоге получилось в выводе:
"Nils lives in Yehuda lives in"
А предпологалось как в примере:
"Nils lives in Darmstadt
Yehuda lives in San Francisco"
Т.е. интересующий меня участок {{lookup ../cities @index}} не работает
Попробовал вывести отдельно массивы, убедиться что они доступны оба :
<br>-
{{#each obj.people}}
{{.}}
{{/each}}
<br>
{{#each obj.cities}}
{{.}}
{{/each}}
Вывод:
"Nils Yehuda
Darmstadt San Francisco"
Массивы выводятся, они реально есть.
Попробовал сделать так, переопределить obj.people в people, для большего соответствия примеру:
{{#with obj.people as |people|}}
{{#each obj.people }}
{{.}} lives in {{lookup ../cities @index}}
{{/each}}
{{/with}}
Результат не изменился.
Что я не так делаю?