如何在角度路线中使用通配符

时间:2013-01-08 13:59:59

标签: angularjs

  

可能重复:
  AngularJS - Route - How to match star (*) as a path

如何在路线中指定通配符 -

$routeProvider
      .when('/admin/*', {
        templateUrl: 'admin.html',
        controller: 'AdminCtrl'
      })

所以上面应该适用于/ admin / users和/ admin / users / 1或/ admin / org / 3。因此管理员之后可能有一个或两个级别的路径。我该怎么做 ?

1 个答案:

答案 0 :(得分:22)

目前,AngularJS不支持路由中的正则表达式。

您可以按以下方式解决问题

 app.config(['$routeProvider', function($routeProvider) {
        $routeProvider
                 .when('/admin', {templateUrl: 'admin.html', controller: 'AdminCtrl'})
                 .when('/admin/:type', {templateUrl: 'admin.html', controller: 'AdminCtrl'})
                 .when('/admin/:type/:id', {templateUrl: 'admin.html', controller: 'AdminCtrl'});  
 }]);

http://plnkr.co/edit/tBumW2oEqki2sEl1hjSc?p=preview

IMO,最好为管理员和用户分别设置一个控制器,除非你有特殊要求。