#javascript #node.js #express #handlebars.js
#javascript #node.js #выразить #handlebars.js
Вопрос:
Я работаю с рулями в экспресс-приложении. Со стороны сервера я передаю массив дат в виде строк:
reqCtrl.dateController = async (req, res) => {
...
var dates = [
"2020-09-27",
"2020-09-28",
"2020-09-29",
"2020-09-30",
"2020-10-01",
"2020-10-02",
"2020-10-03",
"2020-10-04",
];
console.log(dates);
//Resulting in: ['2020-09-27', '2020-09-28', '2020-09-29', '2020-09-30', '2020-10-01', '2020-10-02', '2020-10-03', '2020-10-04']
res.render("requests/...",
dates
});
}
Однако на стороне клиента со следующим выражением я получаю разные значения.
<script>
console.log({{ dates }})
//Resulting in: 1984 1983 1982 1981 2009 2008 2007 2006
</script>
Я что-то упустил? Как я могу отобразить правильно отформатированную дату?
Комментарии:
1. Проблема заключалась в том, что он вычитал числа, а не отображал строку
Ответ №1:
Что произойдет, если вы визуализируете <p>{{dates}}</p>
, а не регистрируете его в консоли? В любом случае, вы, вероятно, захотите выполнить итерацию по массивам для рендеринга при использовании handlebars. Это делается с помощью #each .
<ul>
{{ #each dates}}
<li>{{this}}</li>
{{/each}}
</ul>