javascript - 為什么這里不需要將req.session的值賦給render里的對(duì)象,頁(yè)面就能識(shí)別到它?
問(wèn)題描述
用了express里的session中間件,
對(duì)象里沒(méi)有user!
重定向之前給req.session.user賦值了
這是路由.png](/img/bVNmO9)
這是render的頁(yè)面,是怎么取到這個(gè)user值的?為什么不需要給render里的傳入的對(duì)象賦一個(gè)user值?工作原理是什么?為什么有的卻需要?
在這個(gè)頁(yè)面跳轉(zhuǎn)的下一個(gè)頁(yè)面里,如果不賦值就識(shí)別不到
exports.publish=function (req,res,next) { return res.render(’publish’,{key:’publish’,user:req.session.user });}
問(wèn)題解答
回答1:樓主的問(wèn)題就一個(gè)問(wèn)題,node中的回調(diào)賦值node中的回調(diào)的值和一般的回調(diào)不一樣,不能按一般的回調(diào)來(lái)理解,一般的回調(diào)是賦值的,這里不是賦值,是方法產(chǎn)生了一個(gè)值直接將其賦值為User類比于
var user.save=function(fn){ //產(chǎn)生了一個(gè)值,test fn(test);}
按如上思路來(lái)理解,不懂再問(wèn)我,User.newUserSave產(chǎn)生了一個(gè)值,并將他賦給了user
