如何将数组从节点传递到.js文件(pugJs)

时间:2019-04-05 04:19:31

标签: node.js express chart.js pug

我正在尝试绘制图表(使用ChartJS)作为快速响应。图表的数据点以数组形式存储在节点中。我必须将其传递给chartJS函数。

为此,我目前正在使用express的res.render()方法。我设法将值传递到.pug文件。现在,我必须将数据点从.pug文件移动到.js文件/ ChartJS函数。

我该如何完成?这是正确的方法吗?

我期望的最终结果是存储在node中的数组值必须反映在具有ChartJS函数的.js文件中。

感谢您的任何帮助/建议。

谢谢!

1 个答案:

答案 0 :(得分:1)

您需要使用unescaped string interpolation和字符串化将您的pug变量转换为客户端浏览器变量:

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

如果express / pug中的变量为['a', 'b', 'c'],则将输出:

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

没有字符串化,您将得到类似这样的内容,因为它不是有效的JavaScript,只会在浏览器中引发错误:

var arrayForChart = [Object object];