搜索

首页  >  问答  >  正文

javascript - 为什么这里不需要将req.session的值赋给render里的对象,页面就能识别到它?

用了express里的session中间件,

对象里没有user!

重定向之前给req.session.user赋值了

这是路由
.png](/img/bVNmO9)

这是render的页面,是怎么取到这个user值的?为什么不需要给render里的传入的对象赋一个user值?工作原理是什么?为什么有的却需要?

在这个页面跳转的下一个页面里,如果不赋值就识别不到

exports.publish=function (req,res,next) {
    return res.render('publish',{
        key:'publish',
        user:req.session.user
    });
}
阿神阿神2784 天前562

全部回复(1)我来回复

  • 我想大声告诉你

    我想大声告诉你2017-05-16 13:34:28

    楼主的问题就一个问题,node中的回调赋值
    node中的回调的值和一般的回调不一样,不能按一般的回调来理解,一般的回调是赋值的,这里不是赋值,是方法产生了一个值直接将其赋值为User
    类比于

    var user.save=function(fn){
        //产生了一个值,test
        fn(test);
    }

    按如上思路来理解,不懂再问我,
    User.newUserSave产生了一个值,并将他赋给了user

    回复
    0
  • 取消回复