Используя angular-ui-router, как я могу использовать другой метод в $ stateProvider или как я могу его использовать вообще?
95
Используя angular-ui-router, как я могу использовать другой метод в $ stateProvider или как я могу его использовать вообще?
$stateProvider.otherwise
, так что это поможет мне)Ответы:
Вы не можете использовать только
$stateProvider
.Вам нужно ввести
$urlRouterProvider
и создать код, похожий на:/otherwise
URL должен быть определен на состояние , как обычно:См. Эту ссылку, где объясняет ksperling
источник
$stateProvider
. Меньше работы, если вы просто хотите отобразить шаблон, но не перенаправить. Я предпочитаю ответ @ juan-hernandez.otherwise
(в данном случае'/otherwise'
) соответствовать имени состояния (первый параметр.state
) или значениюurl
параметра?Вы можете
$stateProvider
использовать синтаксис catch all ("*path"
). Вам просто нужно добавить конфигурацию состояния в конец списка, как показано ниже:Все параметры описаны в https://github.com/angular-ui/ui-router/wiki/URL-Routing#regex-parameters .
Самое приятное в этом варианте, в отличие от
$urlRouterProvider.otherwise(...)
, что вам не нужно менять местоположение.источник
you're not forced to a location change
:?/this/does/not/exist
адресу, URL-адрес останется в адресной строке. Другое решение приведет вас к/otherwise
Вы также можете вручную вставить $ state в функцию в противном случае, которая затем может перейти в состояние без URL. Это имеет то преимущество, что браузер не меняет адресную строку, что полезно для обработки возврата на предыдущую страницу.
источник
Хорошо, это глупый момент, когда вы понимаете, что на заданный вами вопрос уже дан ответ в первых строчках примера кода! Взгляните на пример кода.
Взгляните сюда.
источник
Я просто хочу поделиться отличными ответами, которые уже предоставлены. Последняя версия
@uirouter/angularjs
пометила классUrlRouterProvider
как устаревший. Теперь они рекомендуют использоватьUrlService
вместо этого. Вы можете добиться того же результата с помощью следующей модификации:Дополнительные методы: https://ui-router.github.io/ng1/docs/1.0.16/interfaces/url.urlrulesapi.html
источник
В Обслуживаемом ответ ссылка
angular-route
спрашивает оui-router
. В принятом ответе используется «монолитный»$routeProvider
, для которого требуетсяngRoute
модуль (тогда какui-router
требуетсяui.router
модуль)Самый высокий рейтинг ответ использует
$stateProvider
вместо этого, и говорит что - то вроде.state("otherwise", { url : '/otherwise'... })
, но я не могу найти ни одного упоминания о «иначе» в документации она связывает . Однако я вижу, что$stateProvider
это упоминается в этом ответе, где говорится:Вот где мой ответ может вам помочь. Для меня было достаточно использовать
$urlRouterProvider
вот так:Мое предложение согласуется с
ui-router
документацией ( эта конкретная редакция ), где она включает аналогичное использование.when(...)
метод (первый вызов функции):источник