在jade中访问客户端javascript中的对象

时间:2014-08-18 00:08:00

标签: javascript node.js express

如果我将一个对象传递给像这样的玉文件

,则表达式
res.render("index",{name : "Kerrigan"});

我可以像这样

访问index.jade中文字对象的name属性
p My name is #{name}

但是,为了在客户端脚本中访问文字对象,我必须首先执行此操作。

script(type="text/javascript").
  name = !{JSON.stringify(name)};
  //now I can use the name variable
  alert(name);

所以我的问题是!{JSON.stringify(name)}行做了什么,以及!运算符在这里是如何使用的?
我是表达和javascript的新手,所以我认为它与res.render函数如何将对象发送给jade有关。

1 个答案:

答案 0 :(得分:0)

您无法从客户端javascript 访问该对象,您注入脚本中对象的值。您应该查看生成的页面以了解这一点。

我希望我能为您指出!{}的文档,但似乎没有关于该文档的文档......

!{expression}注入表达式的值,而非转义(未转义中jade中!的含义)。 #{expression}做同样的事情,但逃避了价值。