Как передать массив из узла в файл .js (pugJs) - PullRequest
1 голос
/ 05 апреля 2019

Я пытаюсь отобразить диаграмму (используя ChartJS) в качестве экспресс-ответа.Точки данных для диаграммы хранятся в узле как массив.Я должен передать это функции chartJS.

Для этого я сейчас использую экспресс-метод res.render().Мне удалось передать значения в файл .pug.Теперь мне нужно переместить точки данных из файла .pug в функцию .js file / ChartJS.

Как мне это сделать?это правильный подход?

Конечный результат, который я ожидаю, заключается в том, что значения массива, хранящиеся в node, должны быть отражены в файле .js, который имеет функцию ChartJS.

Я буду благодарен за вашу помощь / совет любого рода.

Спасибо !!

1 Ответ

1 голос
/ 05 апреля 2019

Вам необходимо использовать интерполяцию неэкранированных строк и stringify, чтобы превратить вашу переменную pug в переменную браузера на стороне клиента:

var arrayForChart = !{JSON.stringify(arrayInPug)};

Если переменная в выражении / pug равна ['a', 'b', 'c'], тогда это выдаст:

var arrayForChart = ['a', 'b', 'c'];

Без stringify вы получите что-то вроде этого, которое просто выдаст ошибку в браузере, так как он недопустим JavaScript:

var arrayForChart = [Object object];
...