我正在使用 pug,我想将一个变量传递给前端以获取信息,但是当我尝试这样做时,它会像文本一样传递。
我就是这样做的。
Controller 代码:
res.render('view/edit', {
title: 'Title',
sub:true,
data: variableObject
});
这是渲染 View 中的代码:
script(type='text/javascript').
var x = "#{data}"
console.log(x);
这是日志的结果
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
我无法访问对象,因为是文本,有没有办法像对象一样传递对象?
最佳答案
首先使用 JSON.stringify
对您的对象进行字符串化:
res.render('view/edit', {
title: 'Title',
sub: true,
data: JSON.stringify(variableObject)
});
然后使用 String Interpolation, Unescaped !{data}
script(type='text/javascript').
var x = !{data}
console.log(x);
或者只在您的模板中执行一次:
script(type='text/javascript').
var x = !{JSON.stringify(data)}
console.log(x);
(感谢@Matt,谢谢)
关于javascript - 如何将对象从 pug 传递到前端 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41968058/