ExtraOptions
Набор параметров конфигурации модуля маршрутизатора, передаваемых в методе 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.
bindToComponentInputs
boolean | ComponentInputBindingOptions | undefinedЕсли значение равно true, включается привязка данных из состояния Router непосредственно к входным параметрам компонента в конфигурациях Route. Также можно передать объект ComponentInputBindingOptions, чтобы указать, следует ли исключить queryParams из привязки.
enableViewTransitions
boolean | undefinedЕсли значение равно 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);
}
});
});
}
}
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, текущие параметры будут заменены новыми.
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