res.render('index', { title: 'Express' });
上面的行只表示index.jade(view)可以使用#{title}
来获取Express
'。
res.locals.title = 'Express'
做同样的事吗?这两者之间的区别是什么?
答案 0 :(得分:1)
是的,两者都做同样的事情,但差别很小。
res.locals作用于请求,因此仅对在请求/响应周期中呈现的视图(如果有)提供。
它们在渲染中将是“全局的”,因此您无需预先结束任何内容即可使用它们。 此属性对于公开请求级别信息(如请求路径名称,经过身份验证的用户,用户设置等)非常有用。
//Example, It will attach user info with every response.
app.use(function(req, res, next){
res.locals.user = req.user;
next();
});
res.render中的(view [,locals] [,callback]) locals是一个对象,其属性仅为该视图定义局部变量。