Я конвертирую свое приложение из простого углового маршрутизатора в UI-Router. У меня есть маршрут, который имеет некоторые параметры, исходящие из поля поиска. В сервисе маршрутизатора, предоставленном Angular, если мы ищем пустое поле ввода, URL был перенаправлен на домашнюю страницу из-за функции в противном случае, но в UI-Router он идет к этому URL http://localhost:3000/#/resultPage//1 .
Я попытался использовать regex с параметрами, но это не сработало. Код, который я использую, упоминается ниже
$urlRouterProvider.otherwise('/');
.state("resultpage", {
url: "/resultPage/{searchParameter:[0-9a-zA-Z]+}/{pageParameter:[0-9]}",
templateUrl: "templates/resultpage.html",
controller: "resultController",
})
Как я могу убедиться, что URL-адрес перенаправляется на домашнюю страницу, если какой-либо из парамеров опущен URL-адрес формы?
Передайте переменные вместо прямого значения.
Например
url: "/resultPage/:paramOne/:paramTwo"
, здесьparamOne
иparamTwo
находятся параметры, которые передаются изui-sref
.Теперь в controller добавьте
$stateParams
инъекцию зависимостей, чтобы получить параметры url.теперь пришло время задать имя состояния, к которому вы хотите получить доступ.
бывший:
В этом случае, вероятно, следует использовать параметры запроса. Проверьте первый абзац документации здесь: https://ui-router.github.io/docs/0.3.1/#/api/ui.router.util.type:UrlMatcher