15

可能重复:
AngularJS - 路由 - 如何将星号(*)匹配为路径

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

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

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

4

1 回答 1

23

目前 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,最好为管理员和用户设置单独的控制器,除非您有特殊要求。

于 2013-01-08T16:17:35.730 回答