2013-01-08 10 views
15
でワイルドカードを持っている

可能性の重複:私は私のルートでワイルドカードを指定するにはどうすればよい
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つまたは2つのレベルのパスが存在する可能性があります。どうすればいいのですか ?

答えて

21

現在、AngularJSは経路の正規表現をサポートしていません。

IMO

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

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'}); 
}]); 
を次のようにあなたが回避することができ、そうでないあなたには、いくつかの特別な要件がない限り、管理者とユーザーの両方のために別のコントローラを持っているのは良いアイデアです。

+0

[UIルーター](https://github.com/angular-ui/ui-router/wiki/URL-Routing)は、他のクールなものの中でもルート内の正規表現をサポートしています。 –

関連する問題