我知道如何使用如下语法将 Jade 变量传递到 Javascript 代码中:
var jsVar = "#{bladeVar}"
但是现在,我需要一种方法来将 javascript 变量(从 DOM 中获取)重新放入 Jade,但我已经挣扎了好几个小时:[[.
我怎么能这样做?
我知道如何使用如下语法将 Jade 变量传递到 Javascript 代码中:
var jsVar = "#{bladeVar}"
但是现在,我需要一种方法来将 javascript 变量(从 DOM 中获取)重新放入 Jade,但我已经挣扎了好几个小时:[[.
我怎么能这样做?
回答你的意思:你做不到。
Jade 是在服务器端编译的,(本地 nodejs 也算作服务器端)所以你不能使用脚本中的 JS 变量,它只会在客户端运行,只是因为它没有在你创建标记的地方运行玉。
如果你想在渲染过程中使用变量,那么你可以像这个例子中那样:
p Hello
-var world = "world"
p Hello #{world}!
-world = "Hello world!" //what javascript you write here, it will be executed during render.
p #{world}
script(type='text/javascript').
document.write("this will compile when the client gets it, not while render!");
document.write(world); // undefined