一旦用户登录,我想在标题中显示他们的用户名,这是当前的一部分layout.jade.他们的详细信息在布局中,req.currentUser但req无法访问.
我知道我可以为render我的路线中的每个呼叫执行以下操作:
res.render('help', {
locals: { currentUser: req.currentUser }
});
Run Code Online (Sandbox Code Playgroud)
但似乎必须有一个比添加{ currentUser: req.currentUser }到locals我的每一条路线更好的方法.
我仍然是Node新手,如果这是一个愚蠢的问题,请道歉.
你需要使用一个dynamic helper.它是一个传递request和response对象的函数,就像任何路由或中间件一样,并且可以返回特定于当前请求的数据.(包括会话数据)
所以,在app.js中:
app.dynamicHelpers({
currentUser: function (req, res) {
return req.currentUser;
}
});
Run Code Online (Sandbox Code Playgroud)
并在您的模板中:
<div><%= currentUser %></div>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3463 次 |
| 最近记录: |