Угловые js - необязательные параметры динамического url

Я установил простой URL-адрес страницы так:

.when('/users/:offset/:filter/:keywords',{ templateUrl:'views/users/index.html', controller:'Users', reloadOnSearch:false })
.otherwise({ redirectTo:'/' });

теперь, если я просматриваю site.co/users/5/1/heykeyword он работает

НО, если я просматриваю site.co/users/5/1 я получаю перенаправление на /

что не так?

Не следует прокладывать маршрутыParams!!!

1 ответ

Проблема в том, что написанное вами содержит аргументы,

вы можете достичь этого, добавив "ключевые слова" как необязательный (добавив вопросительный знак):

.when('/users/:offset/:filter/:keywords?',{ templateUrl:'views/users/index.html', controller:'Users', reloadOnSearch:false })
.otherwise({ redirectTo:'/' });

требуется фильтр offset & filter, но теперь параметры ключевых слов являются необязательными.

Для получения дополнительной информации: https://docs.angularjs.org/api/ngRoute/provider/ $ routeProvider

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

путь может содержать необязательные именованные группы с вопросительным знаком: например: name?.

licensed under cc by-sa 3.0 with attribution.