使用会话变量包含玉文件

时间:2015-04-23 12:45:11

标签: include pug

我正在开发一个具有3种不同类型的Web应用程序。 学生老师和管理员。 根据记录的acctype,我不想加载不同的菜单。 我有一个分配给会话变量的acctype;     #{session.acctype}

所以我曾经像这样处理它;     script(src='js/sidebar#{session.acctype}.js')

但我想摆脱上面加载的js文件中使用的document.write。 所以现在我在里面的玉文件中有菜单。

问题来了,我不知道如何使用session变量来加载jade文件! 我没有成功地试过这个;     include sidebar#{session.acctype}.jade

那么,有什么方法可以解决这个问题吗?

1 个答案:

答案 0 :(得分:3)

为了让您的模板能够访问您的会话变量,您需要将它们添加到res.session.locals。一个简单的方法是添加

app.use(function(req,res,next){
    res.locals.session = req.session;
    next();
});
在致电app.use(app.router)之前,请先找到您的申请表。使用中间件调用此技术。