如何将数组作为参数从pug传递到JS

  • 本文关键字:pug JS 参数 数组 pug
  • 更新时间 :
  • 英文 :


我正试图将数组c[x].topLevelIndustry作为参数传递给pug中的一个函数,我的pug代码是:

script.
function myFunction(z) {
var y = document.getElementById("demo");
y.innerHTML =z.join();
}

myFunction(c[x].topLevelIndustry)
p#demo

c是通过index.js传递的,我的js代码是:

res.render('index', { title: 'About', c:c, d:d, e:e});

当我把['banana','apple']作为参数时,一切都正常,所以我认为语法是错误的。

假设这是要传递给客户端Javascript的服务器端变量:

const veryImportantObject = {foo: 'bar', number: 666};

您将其作为模板变量传递到Pug中,如下所示:

pug.renderFile(__dirname + '/Example.pug', {
myPugTemplateVar: veryImportantObject,
});

从Pug模板中,您可以使用!{}插值语法将其传递到客户端,而不进行任何调整。为了避免得到像[Object object]之类无用的toString()输出,请使用JSON。

script(type="text/javascript").
myPugTemplateVarInTheBrowser = !{JSON.stringify(myPugTemplateVar)};

这将输出一个类似于以下内容的HTML模板:

<script type="text/javascript">
myPugTemplateVarInTheBrowser = {foo: 'bar', number: 666};
</script>

最新更新