AngularJS – Маршрут – Как сопоставить звездочку (*) как путь
-
12-12-2019 - |
Вопрос
Я создаю приложение для просмотра ресурсов, но проблема в том, что я пытался сопоставить when("/!/:resourceUrl")
.
Это работает нормально, если URL-адрес ресурса выглядит примерно так: /path
, но как я могу сделать что-то вроде /path/to/the/resource
.
Я не знаю, сколько путей это займет, поэтому я не могу сделать .when("/!/:path1/:path2/:path3")
.
Есть идеи?
Решение
Начиная с angular-1.2 вы можете сделать это:
when("/!/:resourceUrl*")
http://code.angularjs.org/1.2.0/docs/api/ngRoute.$routeProvider
В частности, в документации приводится следующий пример:
Например, такие маршруты, как /color/:color/largecode/:largecode*\/edit
будет соответствовать /color/brown/largecode
/code/with/slashs/edit
и извлеките:
color: brown
largecode: code/with/slashs
Другие советы
На сегодняшний день Angularjs не поддерживает регулярные выражения в маршрутах.
Проверьте эти ссылки: https://github.com/angular/angular.js/Проблемы / 918 , https://github.com/angular/angular.js/ pull / 972