Как использовать подстановочные знаки в маршрутах angular - программирование

Как использовать подстановочные знаки в маршрутах angular

Возможный дубликат:
AngularJS - Маршрут - Как сопоставить звезду (*) как путь

Как указать подстановочные знаки в моих маршрутах -

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

Таким образом, вышеприведенное должно работать для /admin/users и/admin/users/1 или /admin/org/ 3. Таким образом, после администратора может быть один или два уровня пути. Как мне это сделать?

4b9b3361

Ответ 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, неплохо иметь отдельный контроллер для администратора и пользователей, если в противном случае у вас есть особые требования.