Spec-Zone.ru › Angular.js 1.6

Улучшить документацию Посмотреть исходный код $routeProvider

  1. $route
  2. провайдер в модуле ngRoute

Обзор

Используется для настройки маршрутов.

См. $route для примера настройки и использования ngRoute.

Зависимости

Требуется модуль ngRoute для установки.

Методы

  • when(path, route);

    Добавляет новое определение маршрута к сервису $route.

    Параметры

    Параметр Тип Подробности
    path string

    Путь маршрута (сопоставляется с $location.path). Если $location.path содержит избыточный или отсутствующий конечный слэш, маршрут все равно будет сопоставлен, и $location.path будет обновлен, чтобы добавить или удалить конечный слэш, чтобы точно соответствовать определению маршрута.

    • path может содержать именованные группы, начинающиеся с двоеточия: например, :name. Все символы до следующего слэша сопоставляются и сохраняются в $routeParams под заданным name при сопоставлении маршрута.
    • path может содержать именованные группы, начинающиеся с двоеточия и заканчивающиеся звездочкой: например, :name*. Все символы жадно сохраняются в $routeParams под заданным name при сопоставлении маршрута.
    • path может содержать необязательные именованные группы с вопросительным знаком: например, :name?.

      Например, маршруты, такие как /color/:color/largecode/:largecode*\/edit будут сопоставляться с /color/brown/largecode/code/with/slashes/edit и извлекать:

    • color: brown

    • largecode: code/with/slashes.
    route Object

    Информация о сопоставлении, которая должна быть назначена $route.current при сопоставлении маршрута.

    Свойства объекта:

    • controller – {(string|Function)=} – Функция контроллера, которая должна быть связана с недавно созданным scope или имя зарегистрированного контроллера, если передано в виде строки.
    • controllerAs – {string=} – Имя идентификатора для ссылки на контроллер. Если присутствует, контроллер будет опубликован в scope под именем controllerAs.
    • template – {(string|Function)=} – Шаблон html в виде строки или функции, возвращающей шаблон html в виде строки, который должен использоваться директивами ngView или ngInclude. Это свойство имеет приоритет над templateUrl.

      Если template является функцией, она будет вызвана со следующими параметрами:

      • {Array.<Object>} - параметры маршрута, извлеченные из текущего $location.path() при применении текущего маршрута

      Требуется один из template или templateUrl.

    • templateUrl – {(string|Function)=} – путь или функция, возвращающая путь к шаблону html, который должен использоваться директивой ngView.

      Если templateUrl является функцией, она будет вызвана со следующими параметрами:

      • {Array.<Object>} - параметры маршрута, извлеченные из текущего $location.path() при применении текущего маршрута

      Требуется один из templateUrl или template.

    • resolve - {Object.<string, Function>=} - Необязательное отображение зависимостей, которые должны быть введены в контроллер. Если какие-либо из этих зависимостей являются обещаниями, маршрутизатор будет ждать, пока все они будут разрешены или одно будет отклонено, прежде чем контроллер будет создан. Если все обещания будут успешно разрешены, значения разрешенных обещаний будут введены, и событие $routeChangeSuccess будет выведено. Если любое из обещаний будет отклонено, будет выведено событие $routeChangeError. Для более удобного доступа к разрешенным зависимостям из шаблона отображение resolve будет доступно в области видимости маршрута, под $resolve (по умолчанию) или под пользовательским именем, указанным свойством resolveAs (см. ниже). Это особенно полезно при работе с компонентами в качестве шаблонов маршрутов.

      Примечание: Если ваша область видимости уже содержит свойство с этим именем, оно будет скрыто или перезаписано. Убедитесь, что вы указали соответствующее имя для этого свойства, которое не конфликтует с другими свойствами в области видимости.
      Объект отображения:
      • key – {string}: имя зависимости, которая должна быть введена в контроллер.
      • factory - {string|Function}: Если string - это псевдоним для сервиса. В противном случае, если это функция, она вводится, а возвращаемое значение рассматривается как зависимость. Если результат является обещанием, оно разрешается, прежде чем его значение будет введено в контроллер. Имейте в виду, что ngRoute.$routeParams по-прежнему будет ссылаться на предыдущий маршрут в этих функциях разрешения. Используйте $route.current.params для доступа к параметрам нового маршрута.
    • resolveAs - {string=} - имя, под которым отображение resolve будет доступно в области видимости маршрута. Если опущено, по умолчанию $resolve.

    • redirectTo – {(string|Function)=} – значение для обновления пути $location и запуска перенаправления маршрута.

      Если redirectTo является функцией, она будет вызвана со следующими параметрами:

      • {Object.<string>} - параметры маршрута, извлеченные из текущего $location.path() при применении текущего шаблона url маршрута.
      • {string} - текущий $location.path()
      • {Object} - текущий $location.search()

      Пользовательская функция redirectTo должна возвращать строку, которая будет использована для обновления $location.url(). Если функция вызывает ошибку, дальнейшая обработка не будет выполняться, и будет выведено событие $routeChangeError.

      Маршруты, которые указывают redirectTo не будут вызывать свои контроллеры, функции шаблонов или разрешения, $location будет изменено на адрес перенаправления, и обработка маршрута прекратится. Исключением из этого является то, что redirectTo является функцией, возвращающей undefined. В этом случае переход по маршруту происходит так, как будто перенаправления не было.

    • resolveRedirectTo – {Function=} – функция, которая (в конечном итоге) вернёт значение для обновления URL $location и запуска перенаправления по маршруту. В отличие от redirectTo, в resolveRedirectTo могут быть введены зависимости, а возвращаемое значение может быть либо строкой, либо обещанием, которое будет разрешено до строки.

      Аналогично redirectTo, если возвращаемое значение является undefined (или обещанием, которое разрешается в undefined), перенаправления не происходит, и переход по маршруту происходит так, как будто перенаправления не было.

      Если функция вызывает ошибку или возвращаемое обещание отклоняется, дальнейшая обработка не будет выполняться, и будет выведено событие $routeChangeError.

      redirectTo имеет приоритет над resolveRedirectTo, поэтому указание обоих в одном определении маршрута приведет к игнорированию последнего.

    • [reloadOnSearch=true] - {boolean=} - перезагрузить маршрут, если изменяются только $location.search() или $location.hash().

      Если параметр установлен в false и URL в браузере изменяется, то событие $routeUpdate транслируется в корневую область видимости.

    • [caseInsensitiveMatch=false] - {boolean=} - сопоставление маршрутов без учета регистра

      Если параметр установлен в true, то соответствующий маршрут может быть сопоставлен без учета регистра

    Возвращает

    Object

    self

  • otherwise(params);

    Устанавливает определение маршрута, которое будет использоваться при изменении маршрута, когда ни одно другое определение маршрута не соответствует.

    Параметры

    Параметр Тип Подробности
    params Objectstring

    Информация о сопоставлении, которая должна быть назначена $route.current. Если указана строка, значение сопоставляется с redirectTo.

    Возвращает

    Object

    self

  • eagerInstantiationEnabled([enabled]);

    Вызовите этот метод в качестве установщика, чтобы включить/отключить раннее создание экземпляра сервиса $route при загрузке приложения. Вы также можете вызвать его как получатель (т. е. без аргументов), чтобы получить текущее значение флага eagerInstantiationEnabled.

    Раннее создание экземпляра $route необходимо для захвата начального события $locationChangeStart и перехода к соответствующему маршруту. Обычно, $route создается вовремя директивой ngView. Однако в случаях, когда ngView включен в асинхронно загруженный шаблон (например, в шаблоне другой директивы), фабрика директивы может не быть вызвана достаточно быстро для того, чтобы $route был создан до возникновения начального события $locationChangeSuccess. Раннее создание экземпляра гарантирует, что $route всегда создается вовремя, независимо от того, когда ngView будет загружен.

    Значение по умолчанию равно true.

    Примечание:
    Возможно, вам захочется отключить это поведение при тестировании модулей, зависящих от ngRoute, чтобы избежать неожиданного запроса шаблона маршрута по умолчанию.

    Параметры

    Параметр Тип Подробности
    enabled
    (необязательно)
    boolean

    Если указано, обновить внутренний флаг eagerInstantiationEnabled.

    Возвращает

    *

    Текущее значение флага eagerInstantiationEnabled при использовании в качестве получателя или сам по себе (для цепочки), если используется как установщик.

Свойства

  • caseInsensitiveMatch

    Логическое свойство, указывающее, должны ли маршруты, определенные с помощью этого поставщика, сопоставляться с помощью алгоритма, не учитывающего регистр. По умолчанию равно false.

© 2010–2018 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.
https://code.angularjs.org/1.6.9/docs/api/ngRoute/provider/$routeProvider

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API