javascript - 如何将对象从 pug 传递到前端 javascript

标签 javascript node.js pugjs

我正在使用 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/

相关文章:

javascript - Gulp 浏览器同步 ENOENT 错误

node.js - 使用用于 Nodejs 的 Neo4j-Driver 通过 id 和参数获取 Node

webpack - 有没有办法在 svelte 组件中使用 pugjs?

javascript - 单击按钮时发布其他表单对象

javascript - 使用 JavaScript 打开引导模式后如何更改单击按钮的值?

javascript - 如果路由参数与文件名匹配,如何从目录发送文件?

javascript - Pug/Jade 中动态包含的解决方法

intellij-idea - Intellij IDEA 中对 Pug 模板引擎的支持

javascript - 如何为选择列表的自定义指令实现 ng-change?

node.js - 将 cordova 与 Node js 集成以构建移动应用程序