如果我将一个对象传递给像这样的玉文件
,则表达式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有关。
答案 0 :(得分:0)
您无法从客户端javascript 访问该对象,您注入脚本中对象的值。您应该查看生成的页面以了解这一点。
我希望我能为您指出!{}
的文档,但似乎没有关于该文档的文档......
!{expression}
注入表达式的值,而非转义(未转义中jade中!
的含义)。 #{expression}
做同样的事情,但逃避了价值。