从angular中获取$ routeProvider的路由列表

时间:2015-01-28 20:10:25

标签: angularjs

我有一个应用程序,其路由定义如下:

angular.module('myApp').config(['$routeProvider', function ($routeProvider) {
  'use strict';

  $routeProvider

    .when('/user-management', {
      title: 'Manage: Users',
      permissions: ['ADMINISTRATOR'],
      templateUrl: 'views/user-management.html',
      controller: 'UserCtrl'
    })

    .when('/group-management', {
      title: 'Manage: Groups',
      templateUrl: 'views/group-management.html',
      controller: 'GroupManagementCtrl',
      permissions: ['OPERATOR', 'ADMINISTRATOR']
    })
...

在控制器中,我希望能够获得此路由列表,并且还能够访问每个路由的权限。这将隐藏您无权访问的页面的导航元素。

有没有一种很好的方法来获取路由列表及其相关权限?

1 个答案:

答案 0 :(得分:6)

您可以从permissions访问所有路线(以及其他属性,例如$route.routes)。请参阅https://docs.angularjs.org/api/ngRoute/service/$route

摘录:

routes: with all route configuration Objects as its properties.