我正在使用角度来处理一些路线,即家庭和登陆页面。但是,在用户登录后,我希望能够访问附加到req对象的用户参数。
通常,在express中,这意味着在像这样的获取请求之后呈现页面
app.get('/home'... {user: req.user})
然后访问ejs模板中的<%= req.user %>
。
然而,在角度方面,我正在使用ui-router打开这样的页面
app.config(['$stateProvider', '$urlRouterProvider',
function($stateProvider, $urlRouterProvider){
$stateProvider.state('home',{
url: '/home',
templateUrl: '/home.html',
controller: 'MainCtrl', //initializes with this ctrl, no need to specify earlier
resolve: {
postPromise: ['posts', function(posts){
return posts.getAll();
}]
}
});
$stateProvider.state('posts', {
url: '/posts/{id}',
templateUrl: '/posts.html',
controller: 'PostsCtrl',
resolve: {
post: ['$stateParams', 'posts', function($stateParams, posts){
return posts.get($stateParams.id);
}]
}
});
$stateProvider.state('landing', {
url: '/landing',
templateUrl: '/landing.html',
controller: 'landCtrl',
});
$urlRouterProvider.otherwise('home');//otherwise go here
}]);
用户登录后,我无法访问req.user对象。对于某些条件执行,我需要这样做。任何的想法?谢谢!
答案 0 :(得分:0)
我推荐sharify这是一个npm包,它允许您通过<script>
标记将一些服务器端数据发送到您的浏览器代码,其中包含一些JSON。按照教程,我通常最终将用户设置为角度应用程序中的常量:
myapp.constant('user', sharify.data.user);