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

标签 javascript node.js pug view 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] (例如),但 pug 脚本内部的范围似乎不允许这样做。

我错过了什么?谢谢。

最佳答案

在您的哈巴狗模板中,您需要使用 unescaped interpolation当您对数据进行字符串化时,在脚本中。

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

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

关于javascript - 如何在 pug 内联脚本中使用 pug 局部变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46438515/

相关文章:

javascript - Express.js 将错误记录到控制台

node.js - 如何在 Sailsjs --no-frontend API 中通过 URL 访问图像

javascript - 如何在 node.js 中读取整个文本流?

javascript - 强制 Jade 忽略脚本标签内的注释

javascript - 当页面上有很多项目时,Vuejs 似乎在与 v-model 作斗争

javascript - 通过类名从外部文件中获取 div。使用 jQuery

javascript - 数据表行按钮在 jade 模板中不起作用

node.js - 如何在node.js中渲染html格式(openweathermap.api)

javascript - 谷歌地图未以全尺寸显示为容器

php - 帮助从 JavaScript if 语句调用 PHP