我试图将数组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']作为参数传递时,一切正常,因此我认为语法是错误的。
答案 0 :(得分:0)
假设这是您要传递给客户端Javascript的服务器端变量:
const veryImportantObject = {foo: 'bar', number: 666};
您正在将其作为模板变量传递给Pug:
pug.renderFile(__dirname + '/Example.pug', {
myPugTemplateVar: veryImportantObject,
});
在Pug模板中,可以使用!{}
插值语法将其传递到未转义的客户端。为了避免获得像toString()
之类的无用[Object object]
输出,请使用JSON。
script(type="text/javascript").
myPugTemplateVarInTheBrowser = !{JSON.stringify(myPugTemplateVar)};
这将输出带有以下内容的HTML模板:
<script type="text/javascript">
myPugTemplateVarInTheBrowser = {foo: 'bar', number: 666};
</script>