我在一个Express for Node.js网络应用程序中从我的mongodb会话商店传递一个会话变量,如下所示:
exports.dashboard = function(req, res){
res.render('dashboard', {pref: req.session.layoutpref});
}
然后,在我的Jade文件中,我试图将pref
的值分配给css链接,但是我收到了语法错误:
head
title #{title}
link(rel='stylesheet', href='/stylesheets/' + #{pref} + '.css')
我几乎可以肯定,问题在于我将pref
连接到要使用的css文件的位置。任何想法如何解决这个问题?
答案 0 :(得分:61)
#{}
表示法。如果要在属性中使用变量名,可以直接使用变量名。
link(rel='stylesheet', href='/stylesheets/' + pref + '.css')
当量:
link(rel='stylesheet', href='/stylesheets/' + locals.pref + '.css')
何时使用#{}
:
a(href='/stylesheets/' + locals.pref + '.css') View the stylesheet at #{pref}
答案 1 :(得分:4)
Jade文件在Node.js env。
中编译Node.js(来自v4.0.0)支持template literals,所以
link(rel='stylesheet', href=`/stylesheets/${pref}.css`)
当量:
link(rel='stylesheet', href='/stylesheets/' + pref + '.css')