Je transmets une variable de session de mon magasin de sessions mongodb dans une application Web Express for Node.js comme celle-ci:
exports.dashboard = function(req, res){
res.render('dashboard', {pref: req.session.layoutpref});
}
Ensuite, dans mon fichier Jade, j'essaie d'attribuer la valeur de pref
au lien CSS comme ceci, mais j'obtiens une erreur de syntaxe:
head
title #{title}
link(rel='stylesheet', href='/stylesheets/' + #{pref} + '.css')
Je suis presque certain que le problème réside dans ma concaténation de pref
dans l'emplacement du fichier css à utiliser. Une idée sur comment réparer ça?
utilisation #{}
notation si vous souhaitez interpoler une variable dans le contenu d'un élément. vous pouvez simplement utiliser les noms de variables directement si vous souhaitez les utiliser dans des attributs.
link(rel='stylesheet', href='/stylesheets/' + pref + '.css')
équivalent:
link(rel='stylesheet', href='/stylesheets/' + locals.pref + '.css')
quand utiliser #{}
:
a(href='/stylesheets/' + locals.pref + '.css') View the stylesheet at #{pref}
Les fichiers Jade sont compilés dans Node.js env.
Node.js (à partir de la v4.0.0) prend en charge littéraux de modèle , donc
link(rel='stylesheet', href=`/stylesheets/${pref}.css`)
équivalent:
link(rel='stylesheet', href='/stylesheets/' + pref + '.css')