Jor*_*jia 10 javascript node.js pugjs
我正在使用帕格,我想将一个变量传递给前端以获取信息,但是当我尝试这样做时,它会像文本一样传递.
这就是我这样做的方式.
控制器代码:
res.render('view/edit', {
title: 'Title',
sub:true,
data: variableObject
});
Run Code Online (Sandbox Code Playgroud)
这是渲染视图中的代码:
script(type='text/javascript').
var x = "#{data}"
console.log(x);
Run Code Online (Sandbox Code Playgroud)
这是日志的结果
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Run Code Online (Sandbox Code Playgroud)
我无法访问该对象因为是文本,有没有办法像对象一样传递对象?
dNi*_*tro 13
首先使用JSON.stringify以下对象进行字符串化
res.render('view/edit', {
title: 'Title',
sub: true,
data: JSON.stringify(variableObject)
});
Run Code Online (Sandbox Code Playgroud)
然后使用字符串插值,未转义 !{data}
script(type='text/javascript').
var x = !{data}
console.log(x);
Run Code Online (Sandbox Code Playgroud)
script(type='text/javascript').
var x = !{JSON.stringify(data)}
console.log(x);
Run Code Online (Sandbox Code Playgroud)
(感谢@Matt,谢谢)
在本例中我使用了这个:
\n\nvar x = "#{ JSON.stringify(y) }"\n console.log( JSON.parse(x.replace(/"/g,\'"\')) );\nRun Code Online (Sandbox Code Playgroud)\n\nI\xc2\xb4m 不确定这是否是最佳实践。
\n| 归档时间: |
|
| 查看次数: |
4976 次 |
| 最近记录: |