如何在pug内联脚本中使用pug局部变量?

时间:2017-09-27 02:23:18

标签: javascript node.js pug views locals

我有以下代码(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](例如),但看起来帕格脚本中的范围不会允许这样做。

我错过了什么?感谢。

1 个答案:

答案 0 :(得分:0)

在帕格模板中,在对数据进行字符串化时,需要在脚本中使用unescaped interpolation

script.
  var numbersList = !{JSON.stringify(numbersList)};

这会将变量输出为与浏览器兼容的JavaScript对象。使用#符号进行转义插值在这里不起作用,因为它会将引号从"引到\\"