Улучшить эту документацию Просмотреть исходный код $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, если текущий - первый переданный маршрут.
-
$routeChangeError
Транслируется, если функция перенаправления завершается неудачей или любые перенаправления или разрешающие промисы отклоняются.
Тип:
трансляцияЦель:
корневая область видимостиПараметры
Параметр Тип Подробности angularEvent ObjectСинтетический объект события
current RouteТекущая информация о маршруте.
previous RouteПредыдущая информация о маршруте.
rejection RouteВыброшенная ошибка или причина отклонения промиса. Обычно причина отклонения - это ошибка, которая привела к отклонению промиса.
-
$routeUpdate
Транслируется, если используется тот же экземпляр маршрута (включая шаблон, экземпляр контроллера, разрешенные зависимости и т. д.). Это может произойти, если либо
reloadOnSearchилиreloadOnUrlбыло установлено вfalse.Тип:
трансляцияЦель:
корневая область видимостиПараметры
Параметр Тип Подробности angularEvent ObjectСинтетический объект события
current RouteТекущая/предыдущая информация о маршруте.
Свойства
-
current
ObjectСсылка на текущее определение маршрута. Определение маршрута содержит:
-
controller: Конструктор контроллера, как определено в определении маршрута. -
locals: Карта локалей, которая используется сервисом $controller для инициализации контроллера. Вlocalsсодержатся разрешенные значения изresolveкарты. Кроме того,localsтакже содержат:-
$scope- текущая область видимости маршрута. -
$template- текущий HTML-шаблон маршрута.
localsбудет назначен свойству$resolveобласти видимости маршрута. Имя свойства можно переопределить, используяresolveAsв определении маршрута. Подробнее см. $routeProvider. -
-
-
routes
ObjectОбъект со всеми конфигурационными объектами маршрута в качестве своих свойств.
Пример
В этом примере показано, как изменение URL-хэша заставляет $route сопоставлять маршрут с URL-адресом, а ngView подключает фрагмент.
© 2010–2020 Google, Inc.
Licensed under the Creative Commons Attribution License 3.0.
https://code.angularjs.org/1.8.2/docs/api/ngRoute/service/$route