использовать routeprovider с переменной с косой чертой - PullRequest
0 голосов
/ 04 апреля 2019

У меня определен этот URL, / item / 1231, но можно использовать переменную с косой чертой в качестве itemID?

Если мой идентификатор товара 12/31, как это может работать? это должно быть закодировано в% 2F?

/ элемент / 12/31

  $routeProvider.when('/item/:itemID', {
    templateUrl: 'item_view.html',
    controller: 'ItemControler'

Из документа:

Путь маршрута (сопоставлен с $ location.path). Если $ location.path содержит лишнюю косую черту или отсутствует, маршрут будет все еще совпадает, и $ location.path будет обновлен, чтобы добавить или удалить косая черта точно соответствует определению маршрута.

путь может содержать именованные группы, начинающиеся с двоеточия: например, :название. Все символы до следующего слэша сопоставляются и сохраняются в $ routeParams под указанным именем, когда маршрут совпадает. путь может содержать именованные группы, начинающиеся с двоеточия и заканчивающиеся звездочкой: например, имя Все символы охотно хранятся в $ routeParams под заданным именем когда маршрут совпадает. путь может содержать необязательные именованные группы с вопросительный знак: например,: имя?.

Например, такие маршруты, как / color /: color / largecode /: largecode * / edit будет соответствовать / цвет / коричневый / большой код / ​​код / ​​с / косые черты / редактировать и извлекать:

Цвет: коричневый

большой код: код / ​​с / косой чертой.

https://docs.angularjs.org/api/ngRoute/provider/$routeProvider

Но мне не удалось заставить его работать

1 Ответ

0 голосов
/ 09 апреля 2019

Ну, как говорится в документации, это нужно просто и * добавить, чтобы игнорировать косые черты.

 $routeProvider.when('/item/:itemID*', {
    templateUrl: 'item_view.html',
    controller: 'ItemControler'
...