Angular $ routeProvider基于用户角色

ras*_*cio 5 angularjs angular-routing

我想根据用户的角色在我的角度应用程序中注册路由,我可以这样做:

angular.module('myModule', [])
    .config(function($routeProvider, $http){
        $routeProvider.when('/home',{
           templateUrl: '/home.html',
           controller: 'HomeCtrl'
        });
        $http.get('/user')
            .success(function(user){
                if (user.admin){
                    $routeProvider.when('/dashboard, {
                        templateUrl: '/dashboard.html',
                        controller: 'DashboardCtrl'
                    });
                }
            });
    });
Run Code Online (Sandbox Code Playgroud)

但是在config方法中我无法使用该$http服务,我该如何实现呢?

Bri*_*sio 5

检查ui-router.对于Angular来说,它是一个功能更丰富的基于状态的路由系统.它通过允许您在状态更改时发出模型请求来解决您的问题,并返回一个承诺,以便在您获得模型时,您可以再次继续或更改状态.