man*_*j82 1 node.js express pug
我是Node.js的新手并试图解决一些问题.如何将变量从Jade模板文件传递到JS文件?
我的server.js文件中有这行代码
res.render("aws.jade", {data : JSON.stringify({'val' : 'This is a Test'})});
Run Code Online (Sandbox Code Playgroud)
基本上我只是试图将数据中的值获取到aws.jade模板文件
这是aws.jade
html
head
script(type='text/javascript')
var data = !{data}
link(rel='stylesheet', href='/stylesheets/style.css')
body
title Title
h1 Heading
#div.test
Run Code Online (Sandbox Code Playgroud)
我一直在Firebug控制台中收到此错误:
<var>data = {"val":"This is a Test"}</var>
Run Code Online (Sandbox Code Playgroud)
有人可以解释一下为什么会发生这种情况,以及我将变量从Jade模板文件传递到JS文件的方法吗?
谢谢
尝试.在脚本之后添加一个字符,这告诉Jade你想要一个标签内的文本块.
这是您更新的代码.
html
head
script(type='text/javascript').
var data = !{data}
link(rel='stylesheet', href='/stylesheets/style.css')
body
title Title
h1 Heading
#div.test
Run Code Online (Sandbox Code Playgroud)
编辑 - 将标题设置为data.val
首先,您应该更改您的响应,删除JSON.stringify,以便返回一个对象而不是字符串值.
res.render("aws.jade", {data : {'val' : 'This is a Test'}});
Run Code Online (Sandbox Code Playgroud)
然后你应该能够使用点表示法直接访问数据对象属性和结构,并将它直接分配给title元素,就像这样......
title= data.val
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10335 次 |
| 最近记录: |