从脚本标记内的response.render传递值

时间:2017-03-22 10:02:18

标签: javascript node.js express pug

以下是pug代码段。我需要动态填充user对象中的chatConfig

 script.
  var chatConfig = {
    user : 'foo',
    pass : 'bar',
  }

从我的表达中,我正在渲染为

  resp.render('user/index', {username:req.user});

如何在req.user内传递userscript.键的值?

2 个答案:

答案 0 :(得分:2)

Brmmmm在正确的轨道上,但您需要让JavaScript将变量用作对象,而不是变量。您可以对变量进行字符串化以使其作为JavaScript对象使用。

doctype html
html(lang='en')
  head
    title Jade
    - var test = {prop1: "Hi there", prop2: "Another test"};
    script(type='text/javascript').
      var test2 = !{JSON.stringify(test)};
      console.log(test2, test2.prop1, typeof test2);
  body
    h1 Jade - template engine
    #container.col
      p I'm some Jade

Live Example;检查浏览器控制台/ Codepen控制台以查看console.log语句输出的内容。

答案 1 :(得分:1)

我认为它应该是这样的:

script.
  var chatConfig = {
    user : '${username}',
    pass : 'bar',
  }