我有以下代码(Chart.js 片段):
datasets: [{
label: 'Hashes/s',
data: numbersList,
backgroundColor: [
'rgba(255, 99, 132, 0.2)',
'rgba(54, 162, 235, 0.2)',
'rgba(255, 206, 86, 0.2)',
'rgba(75, 192, 192, 0.2)',
'rgba(153, 102, 255, 0.2)',
'rgba(255, 159, 64, 0.2)'
],
现在我像这样从主应用程序传递这个本地:
require('../charter')((numbersList) => {
res.render('index', {
numbersList: numbersList
})
})
不幸的是,它看起来只适用于哈巴狗页面的顶部范围。如果我编写 h1=hashesList
,它将打印出 [1,2,3] (例如),但 pug 脚本内部的范围似乎不允许这样做。
我错过了什么?谢谢。
最佳答案
在您的哈巴狗模板中,您需要使用 unescaped interpolation当您对数据进行字符串化时,在脚本中。
script.
var numbersList = !{JSON.stringify(numbersList)};
这会将您的变量输出为浏览器兼容的 JavaScript 对象。使用 #
符号进行转义插值在这里不起作用,因为它将引号从 "
转义为 \\"
。
关于javascript - 如何在 pug 内联脚本中使用 pug 局部变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46438515/