Улучшить эту документацию Просмотреть исходный код $route
- $routeProvider
- сервис в модуле ngRoute
Обзор
$route используется для глубокой привязки URL-адресов к контроллерам и представлениям (HTML-фрагментам). Он отслеживает $location.url() и пытается сопоставить путь с существующим определением маршрута.
Требуется модуль ngRoute.
Вы можете определить маршруты с помощью API $routeProvider.
Сервис $route обычно используется совместно с директивой ngView и сервисом $routeParams.
Зависимости
Методы
-
reload();
-
updateParams(newParams);
Заставляет сервис
$routeобновить текущий URL, заменив текущие параметры маршрута на те, что указаны вnewParams. Предоставленные имена свойств, соответствующие определениям сегментов пути маршрута, будут интерполированы в путь расположения, а остальные свойства будут рассматриваться как параметры запроса.Параметры
Параметр Тип Подробности newParams !Object<string, string>отображение имен параметров URL к значениям
События
-
$routeChangeStart
Вещание перед изменением маршрута. На этом этапе служба маршрута начинает разрешать все зависимости, необходимые для изменения маршрута. Как правило, это включает извлечение шаблона представления, а также любые зависимости, определённые в
resolveсвойстве маршрута. После разрешения всех зависимостей$routeChangeSuccess.Изменение маршрута (и
$locationизменение, которое его вызвало) можно предотвратить, вызвав методpreventDefaultсобытия. См.$rootScope.Scopeдля получения более подробной информации об объекте события.Тип:
вещаниеЦелевой объект:
корневой область видимостиПараметры
Параметр Тип Подробности angularEvent ObjectСинтетический объект события.
next RouteИнформация о будущем маршруте.
current RouteИнформация о текущем маршруте.
-
$routeChangeSuccess
Вещание после успешного изменения маршрута.
resolveзависимости теперь доступны вcurrent.localsсвойстве.ngView прослушивает событие для инициализации контроллера и рендеринга представления.
Тип:
вещаниеЦелевой объект:
корневой область видимостиПараметры
Параметр Тип Подробности angularEvent ObjectСинтетический объект события.
current RouteИнформация о текущем маршруте.
previous RouteUndefinedИнформация о предыдущем маршруте или undefined, если current — это первый входящий маршрут.
-
$routeChangeError
Вещание, если функция перенаправления завершается неудачно или любые перенаправления или разрешения обещают отклонение.
Тип:
вещаниеЦелевой объект:
корневой область видимостиПараметры
Параметр Тип Подробности angularEvent ObjectСинтетический объект события
current RouteИнформация о текущем маршруте.
previous RouteИнформация о предыдущем маршруте.
rejection RouteВыброшенная ошибка или причина отклонения обещания. Обычно причина отклонения — ошибка, которая привела к отклонению обещания.
-
$routeUpdate
Вещание, если экземпляр маршрута (включая шаблон, экземпляр контроллера, разрешённые зависимости и т. д.) повторно используется. Это может произойти, если либо
reloadOnSearchилиreloadOnUrlбыли установлены вfalse.Тип:
вещаниеЦелевой объект:
корневой область видимостиПараметры
Параметр Тип Подробности angularEvent ObjectСинтетический объект события
current RouteИнформация о текущем/предыдущем маршруте.
Свойства
-
текущий
ObjectСсылка на текущее определение маршрута. Определение маршрута содержит:
-
controller: Конструктор контроллера, как определено в определении маршрута. -
locals: Карта локалей, которая используется службой $controller для создания экземпляра контроллера.localsсодержат разрешенные значения из картыresolve. Кроме того,localsтакже содержат:-
$scope- текущий контекст маршрута. -
$template- текущий HTML шаблон маршрута.
localsбудет назначено свойству$resolveконтекста маршрута. Вы можете переопределить имя свойства, используяresolveAsв определении маршрута. Подробнее см. $routeProvider. -
-
-
маршруты
ObjectОбъект со всеми конфигурационными объектами маршрутов в качестве свойств.
Пример
Этот пример демонстрирует, как изменение хэша URL приводит к тому, что $route сопоставляет маршрут с URL, и ngView подключает частичный шаблон.
© 2010–2018 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.
https://code.angularjs.org/1.7.8/docs/api/ngRoute/service/$route