第一种方法
res.render('index',{people:people});
第二种方法
res.locals.people = people;
res.render('index');
我看到有两种方法可以将变量传递给查看,上面的方法有什么不同?
答案 0 :(得分:1)
我认为传递变量到渲染模板它们是相同的,但是有区别。
您可以使用res.locals
从serval中间件传递变量。
<强> res.locals 强>
包含作用域的响应局部变量的对象 请求,因此仅适用于在期间呈现的视图 请求/响应周期(如果有)。否则,这个属性是 与app.locals相同。
此属性对于公开请求级别信息非常有用,例如 请求路径名,经过身份验证的用户,用户设置等。
app.use(function(req, res, next){
res.locals.user = req.user;
res.locals.authenticated = ! req.user.anonymous;
next();
});
从此代码中,您将req.user
传递给下一个中间件。