Spec-Zone.ru › Angular

ExtraOptions

Набор параметров конфигурации модуля маршрутизатора, передаваемых в методе forRoot().

forRoot

API

interface ExtraOptions extends InMemoryScrollingOptions, RouterConfigOptions {
  enableTracing?: boolean | undefined;
  useHash?: boolean | undefined;
  initialNavigation?: InitialNavigation | undefined;
  bindToComponentInputs?: boolean | ComponentInputBindingOptions | undefined;
  enableViewTransitions?: boolean | undefined;
  errorHandler?: ((error: any) => any) | undefined;
  preloadingStrategy?: any;
  scrollOffset?: [number, number] | (() => [number, number]) | undefined;
  override anchorScrolling?: "disabled" | "enabled" | undefined;
  override scrollPositionRestoration?: "disabled" | "enabled" | "top" | undefined;
  override canceledNavigationResolution?: "replace" | "computed" | undefined;
  override onSameUrlNavigation?: OnSameUrlNavigation | undefined;
  override paramsInheritanceStrategy?: "emptyOnly" | "always" | undefined;
  override urlUpdateStrategy?: "deferred" | "eager" | undefined;
  override defaultQueryParamsHandling?: QueryParamsHandling | undefined;
  override resolveNavigationPromiseOnError?: boolean | undefined;
}

enableTracing

boolean | undefined

Если значение равно true, все внутренние события навигации записываются в консоль. Используйте для отладки.

useHash

boolean | undefined

Если значение равно true, включается стратегия расположения, которая использует фрагмент URL вместо History API.

initialNavigation

InitialNavigation | undefined

Одно из значений enabled, enabledBlocking, enabledNonBlocking или disabled. Если задано значение enabled или enabledBlocking, начальная навигация начинается до создания корневого компонента. Запуск приложения блокируется до завершения начальной навигации. Это значение следует установить, если вы используете рендеринг на стороне сервера, но не включаете гидратацию приложения. Если задано значение enabledNonBlocking, начальная навигация начинается после создания корневого компонента. Запуск приложения не блокируется до завершения начальной навигации. Если задано значение disabled, начальная навигация не выполняется. Слушатель изменений расположения настраивается до создания корневого компонента. Используйте это значение, если вам нужно контролировать момент начала начальной навигации маршрутизатора из-за сложной логики инициализации.

bindToComponentInputs

boolean | ComponentInputBindingOptions | undefined

Если значение равно true, включается привязка данных из состояния Router непосредственно к входным параметрам компонента в конфигурациях Route. Также можно передать объект ComponentInputBindingOptions, чтобы указать, следует ли исключить queryParams из привязки.

enableViewTransitions

boolean | undefined
@experimental

Если значение равно true, для маршрутизатора включаются переходы между представлениями: активация и деактивация маршрута выполняются внутри document.startViewTransition.

errorHandler

((error: any) => any) | undefined

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

preloadingStrategy

any

Настраивает стратегию предварительной загрузки. Одно из значений PreloadAllModules или NoPreloading (по умолчанию).

scrollOffset

[number, number] | (() => [number, number]) | undefined

Настраивает смещение прокрутки, которое маршрутизатор будет использовать при прокрутке к элементу.

Если задан кортеж со значениями координат x и y, маршрутизатор использует это смещение при каждой прокрутке. Если задана функция, маршрутизатор вызывает ее каждый раз при восстановлении позиции прокрутки.

anchorScrolling

"disabled" | "enabled" | undefined

Если задано значение 'enabled', выполняется прокрутка к элементу-якорю, когда URL содержит фрагмент. По умолчанию прокрутка к якорю отключена.

При событии 'popstate' прокрутка к якорю не выполняется. Вместо этого восстанавливается сохраненная позиция или выполняется прокрутка в начало.

scrollPositionRestoration

"disabled" | "enabled" | "top" | undefined

Настраивает восстановление позиции прокрутки при возврате назад.

  • 'disabled' — (по умолчанию) ничего не делает. При навигации позиция прокрутки сохраняется.
  • 'top' — задает позицию прокрутки x = 0, y = 0 при любой навигации.
  • 'enabled' — восстанавливает предыдущую позицию прокрутки при навигации назад; в противном случае задает позицию якоря, если он указан, или устанавливает позицию прокрутки в [0, 0] (при навигации вперед). В будущем этот параметр будет использоваться по умолчанию.

Вы можете реализовать собственное поведение восстановления прокрутки, изменив поведение 'enabled', как показано в следующем примере.

class AppComponent {
  movieData: any;

  constructor(private router: Router, private viewportScroller: ViewportScroller,
changeDetectorRef: ChangeDetectorRef) {
  router.events.pipe(filter((event: Event): event is Scroll => event instanceof Scroll)
    ).subscribe(e => {
      fetch('http://example.com/movies.json').then(response => {
        this.movieData = response.json();
        // update the template with the data before restoring scroll
        changeDetectorRef.detectChanges();

        if (e.position) {
          viewportScroller.scrollToPosition(e.position);
        }
      });
    });
  }
}

canceledNavigationResolution

"replace" | "computed" | undefined

Настраивает способ восстановления состояния маршрутизатором при отмене навигации.

'replace' — всегда использует location.replaceState, чтобы привести состояние браузера к состоянию маршрутизатора до начала навигации. Это означает, что если URL браузера обновлен до отмены навигации, маршрутизатор просто заменит запись в истории, а не попытается восстановить предыдущее расположение в истории сеанса. Чаще всего это происходит при urlUpdateStrategy: 'eager' и навигации с помощью кнопок «Назад» и «Вперед» браузера.

'computed' — попытается вернуться к тому же индексу в истории сеанса, который соответствует маршруту Angular на момент отмены навигации. Например, если нажать кнопку «Назад» в браузере и навигация будет отменена, маршрутизатор запустит навигацию вперед, и наоборот.

Примечание: параметр 'computed' несовместим с любым UrlHandlingStrategy, обрабатывающим только часть URL, поскольку при восстановлении истории выполняется переход к предыдущему месту в истории браузера, а не просто сбрасывается часть URL.

Если значение не задано, используется значение replace.

onSameUrlNavigation

OnSameUrlNavigation | undefined

Настраивает обработку запроса на навигацию к текущему URL по умолчанию.

Если значение не задано, Router будет использовать 'ignore'.

paramsInheritanceStrategy

"emptyOnly" | "always" | undefined

Определяет, как маршрутизатор объединяет параметры, данные и разрешенные данные родительских и дочерних маршрутов.

По умолчанию ('always') маршрут наследует все параметры родительских маршрутов.

Задайте значение 'emptyOnly', чтобы сохранить прежнее поведение, при котором маршрут наследует параметры родительского маршрута только в том случае, если у самого маршрута пустой путь или у родительского маршрута не задан компонент.

Обратите внимание: при работе с матричными параметрами под «родителем» понимается родительская конфигурация Route, которая не обязательно является «сегментом URL слева». Если Route path содержит несколько сегментов, матричные параметры должны находиться в последнем сегменте. Например, матричные параметры для {path: 'a/b', component: MyComp} должны быть указаны как a/b;foo=bar, а не как a;foo=bar/b.

urlUpdateStrategy

"deferred" | "eager" | undefined

Определяет, когда маршрутизатор обновляет URL браузера. По умолчанию ('deferred') URL обновляется после успешной навигации. Задайте значение 'eager', если предпочитаете обновлять URL в начале навигации. Раннее обновление URL позволяет обработать сбой навигации, показав сообщение об ошибке с URL, для которого произошел сбой.

defaultQueryParamsHandling

QueryParamsHandling | undefined

Стратегия по умолчанию для обработки параметров запроса в Router.createUrlTree, если она не указана.

Метод createUrlTree используется внутри Router.navigate и RouterLink. Обратите внимание, что QueryParamsHandling не применяется к Router.navigateByUrl.

Если при вызове createUrlTree не указаны ни значение по умолчанию, ни параметр queryParamsHandling, текущие параметры будут заменены новыми.

resolveNavigationPromiseOnError

boolean | undefined

Если true, вместо этого Promise будет завершаться значением false, как и при других ошибках навигации (например, при отклонении проверки guard).

В противном случае Promise, возвращаемый при навигации маршрутизатора, будет отклонен в случае ошибки.

Super-powered by Google ©2010–2025.
Code licensed under an MIT-style License. Documentation licensed under CC BY 4.0.
https://angular.dev/api/router/ExtraOptions

Spec-Zone.ru

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