6184850
以下这两种将元素传递给前台的方式有什么区别吗?我试验了效果一样
app.get('/', function(req,res){
res.locals.test="test";//???
res.render('index',{
title:'主页',
user: req.session.user,
posts:posts,
success:req.flash('success').toString()
});
});
app.get('/', function(req,res){
res.render('index',{
title:'主页',
user: req.session.user,
posts:posts,
test:"testData",//???
success:req.flash('success').toString()
});
});
都能在ejs通过<%=locals.testData%>或<%=test%>获取数据,那上面的两种写法有什么区别吗?
在微博的那个示例中,直接将res.locals写在了app.js中,那这个locals是针对哪个请求呢呢?难道是全局请求?那岂不是和app.locals一样了?
app.use(function(req,res,next){
var err = req.flash('error'),
success = req.flash('success');
res.locals.user = req.session.user;
res.locals.error = err.length ? err : null;
res.locals.success = success.length ? success : null;
next();
});
求指点