如何将Jade模板文件中的variables传递给Javascript文件?
我很新的Node.js,并试图让我的头几个东西。如何将variables从Jade模板文件传递给JS文件?
我有我的server.js文件中的这一行代码
res.render("aws.jade", {data : JSON.stringify({'val' : 'This is a Test'})});
基本上我只是试图获得数据的价值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
我不断收到这个错误在萤火虫控制台:
<var>data = {"val":"This is a Test"}</var>
有人可以请解释为什么发生这种情况,并为我从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
编辑 – 将标题设置为data.val
首先你应该改变你的回应,删除JSON.stringify,以便返回一个不是string值的对象。
res.render("aws.jade", {data : {'val' : 'This is a Test'}});
那么你应该能够直接使用点符号访问数据对象的属性和结构,并将其直接赋值给标题元素,像这样…
title= data.val