我正在尝试将对象从节点传递到客户端,如下所示
render: function(req,res){
res.render('auth',{
userData : req.session.user
});
}
在我的auth.jade中,代码如下
script.
var data = !{JSON.stringify(userData)}
console.log(data)
window.top.location='/profile'
所以我将应用程序重定向到我使用angularjs在routeProvider中定义的新路由
app.config(['$routeProvider','$locationProvider',
function($routeProvider,$locationProvider) {
$routeProvider.
when('/profile', {
templateUrl: 'templates/profile.html',
controller: 'ProfileCtrl'
})
那么有没有办法可以访问控制器中该路径的'data'对象?
答案 0 :(得分:7)
您可以在脚本中执行此操作:
var data = !{JSON.stringify(userData)};
window.serverData= data;
在你的app.js之后,你可以这样做:
app.value('serverData', window.serverData);
在你的控制器中:
app.controller('controllerName', ['serverData', function(serverData){
console.log(serverData);
}]);
您可以在不执行app.value的情况下访问window var到控制器,但这是一个很好的做法。