【问题标题】:How to use pug local variables in pug inline scripts?如何在 pug 内联脚本中使用 pug 局部变量?
【发布时间】:2018-10-12 00:22:38
【问题描述】:

我有以下代码(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
  })
})

不幸的是,它看起来仅适用于 pug 页面的顶部范围。如果我写 h1=hashesList 它将打印出 [1,2,3] (例如),但似乎 pug 脚本内部的范围不允许这样做。

我错过了什么?谢谢。

【问题讨论】:

  • 如果我正确理解您的问题,那么我相信您正在寻找这个question

标签: javascript node.js pug views locals


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 2019-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-27
    • 2011-08-17
    • 1970-01-01
    • 2018-05-29
    • 1970-01-01
    相关资源
    最近更新 更多