0
我如何可以显示不同的事情,这取决于他们是否登录的用户一个非常简单的例子:ExpressJS显示不同看法的谐音,以记录在与非登录用户
- 显示登录按钮用于非记录的在用户中
- 显示欢迎{username} |注销否则
我相信我应该检查的会议,但我怎么能不经过会话(或只是用户名/ ID)到视图每次
我如何可以显示不同的事情,这取决于他们是否登录的用户一个非常简单的例子:ExpressJS显示不同看法的谐音,以记录在与非登录用户
我相信我应该检查的会议,但我怎么能不经过会话(或只是用户名/ ID)到视图每次
1)创建一个动态帮手“用户”这样做如:
app.dynamicHelpers({
user: function(req, res){
var roles, name;
if (req.session && req.session.auth == true) {
roles = ['member'];
name = (req.session.user) ? req.session.user.name : 'Registered member';
id = (req.session.user) ? req.session.user.id : null;
}
else {
roles = ['guest'];
name = 'Guest';
id = null;
}
return {
name: name,
id: id,
roles: roles,
isGuest: roles.indexOf('guest') !== -1,
isMember: roles.indexOf('member') !== -1,
isAdmin: roles.indexOf('admin') !== -1
}
}
});
2)在视图(如果你使用玉)使用以下条件的符号:
if user.isGuest
h2 Please register!
if user.isMember
h2 Hello, member!
你为什么反对通过了会议以观点?这不是会议的目的吗? –
我在想这个视图只能接收它所需要的内容,仅供阅读之用。无论如何,我怎么能通过会议的观点,而不必在所有路线这样做? 'res.render(“something”,{session:req.session})' –
只读的目的是为了谁?看看'res.locals' for express 3.0(忘记它是什么2.x) –