res.render(node.js)中locals的含义是什么?

时间:2015-09-21 06:43:08

标签: node.js express ejs

Node.JS(express + ejs)下面两个代码块之间有什么区别?

res.render('demo', {locals:{"variable":data}});

res.render('demo', {"variable":data});

何时使用哪一个?任何人都可以帮助我。

1 个答案:

答案 0 :(得分:2)

将变量传递给视图的正确方法是以下

res.render('demo', {"variable":data});

然后你有一个objet res.locals你可以附加数据,它将传递给视图。

例如,如果您有中间身份进行身份验证,则可以在请求到达路径之前设置身份验证变量。

app.use(function(req, res, next){
    res.locals.user = req.user;
    res.locals.authenticated = ! req.user.anonymous;
    next();
});