我正在开发一个具有 3 种不同 acctypes 的 Web 应用程序。学生教师和行政人员。根据登录的 acctype,我不想加载不同的菜单。我已将 acctype 分配给会话变量;
#{session.acctype}
所以我以前是这样处理的;
script(src='js/sidebar#{session.acctype}.js')
但我想摆脱在上面加载的 js 文件中使用的 document.write 的使用。所以现在我把菜单放在一个玉文件里面。
问题来了,不知道如何使用session变量来加载jade文件!我尝试了这个但没有成功;
include sidebar#{session.acctype}.jade
那么,有什么办法可以处理这个问题吗?
小智 5
为了让您的模板能够访问会话变量,您需要将它们添加到res.session.locals. 实现此目的的一个简单方法是添加
app.use(function(req,res,next){
res.locals.session = req.session;
next();
});
Run Code Online (Sandbox Code Playgroud)
在致电之前向您提出申请app.use(app.router)。这种技术称为使用中间件。