【问题标题】:how to have wildcards in angular routes [duplicate]如何在角度路线中使用通配符[重复]
【发布时间】:2026-02-03 19:20:05
【问题描述】:

可能重复:
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。因此,管理员之后可能有一级或二级路径。我该怎么做 ?

【问题讨论】:

    标签: angularjs


    【解决方案1】:

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

    【讨论】:

    • UI Router 支持路由中的正则表达式,以及其他很酷的功能。