2013-10-15 20 views
27

ファイル私はこのようなNode.jsのウェブアプリのExpressの私のMongoDBセッションストアからセッション変数に渡しています:ジェイド内の変数+文字列を連結する

exports.dashboard = function(req, res){ 
    res.render('dashboard', {pref: req.session.layoutpref}); 
} 

その後、私のジェイドにファイルを私は」問題は、CSSの場所にprefの私の連結であり、私はほぼ確実だ

head 
     title #{title} 
     link(rel='stylesheet', href='/stylesheets/' + #{pref} + '.css') 

:このようなCSSのリンクにprefの値を代入しようとしているが、私は構文エラーを取得していますmは使用するファイル。任意のアイデアをどのようにこれを修正するには?

答えて

51

#{}要素の内容の変数を補間する場合は、表記法を使用してください。属性で変数名を使用する場合は、変数名をまっすぐに使用することができます。

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} 
+0

パーフェクト!ありがとうございました。 –

+0

非常にクリア、ありがとう! – a20

3

ジェイドファイルは、Node.jsのをENVでコンパイルされています。 (v4.0.0から)

のNode.js template literalsをサポートしていますので、

link(rel='stylesheet', href=`/stylesheets/${pref}.css`) 

同等:

link(rel='stylesheet', href='/stylesheets/' + pref + '.css') 
関連する問題