linkNavigationExtras
npm Package | @angular/router |
---|---|
Module | import { NavigationExtras } from '@angular/router'; |
Source | router/src/router.ts |
Represents the extra options used during navigation.
linkInterface Overview
interface NavigationExtras {
relativeTo?: ActivatedRoute | null
queryParams?: Params | null
fragment?: string
preserveQueryParams?: boolean
queryParamsHandling?: QueryParamsHandling | null
preserveFragment?: boolean
skipLocationChange?: boolean
replaceUrl?: boolean
}
linkMembers
relativeTo?: ActivatedRoute | null
Enables relative navigation from the current ActivatedRoute.
Configuration:
[{
path: 'parent',
component: ParentComponent,
children: [{
path: 'list',
component: ListComponent
},{
path: 'child',
component: ChildComponent
}]
}]
Navigate to list route from child route:
@Component({...})
class ChildComponent {
constructor(private router: Router, private route: ActivatedRoute) {}
go() {
this.router.navigate(['../list'], { relativeTo: this.route });
}
}
queryParams?: Params | null
Sets query parameters to the URL.
// Navigate to /results?page=1
this.router.navigate(['/results'], { queryParams: { page: 1 } });
fragment?: string
Sets the hash fragment for the URL.
// Navigate to /results#top
this.router.navigate(['/results'], { fragment: 'top' });
preserveQueryParams?: boolean
Preserves the query parameters for the next navigation.
deprecated, use queryParamsHandling
instead
// Preserve query params from /results?page=1 to /view?page=1
this.router.navigate(['/view'], { preserveQueryParams: true });
queryParamsHandling?: QueryParamsHandling | null
config strategy to handle the query parameters for the next navigation.
// from /results?page=1 to /view?page=1&page=2
this.router.navigate(['/view'], { queryParams: { page: 2 }, queryParamsHandling: "merge" });
preserveFragment?: boolean
Preserves the fragment for the next navigation
// Preserve fragment from /results#top to /view#top
this.router.navigate(['/view'], { preserveFragment: true });
skipLocationChange?: boolean
Navigates without pushing a new state into history.
// Navigate silently to /view
this.router.navigate(['/view'], { skipLocationChange: true });