interface
Options that modify the Router
navigation strategy. Supply an object containing any of these properties to a Router
navigation function to control how the target URL should be constructed or interpreted.
interface NavigationExtras { relativeTo?: ActivatedRoute | null queryParams?: Params | null fragment?: string preserveQueryParams?: boolean queryParamsHandling?: QueryParamsHandling | null preserveFragment?: boolean skipLocationChange?: boolean replaceUrl?: boolean state?: {...} }
Property | Description |
---|---|
relativeTo?: ActivatedRoute | null | Specifies a root URI to use for relative navigation. For example, consider the following route configuration where the parent route has two children. [{ path: 'parent', component: ParentComponent, children: [{ path: 'list', component: ListComponent },{ path: 'child', component: ChildComponent }] }] The following @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 | DEPRECATED: Use |
queryParamsHandling?: QueryParamsHandling | null | How to handle query parameters in the router link for the next navigation. One of:
The "preserve" option discards any new query params: // from /view1?page=1 to/view2?page=1 this.router.navigate(['/view2'], { queryParams: { page: 2 }, queryParamsHandling: "preserve" }); The "merge" option appends new query params to the params from the current URL: // from /view1?page=1 to/view2?page=1&otherKey=2 this.router.navigate(['/view2'], { queryParams: { otherKey: 2 }, queryParamsHandling: "merge" }); In case of a key collision between current parameters and those in the |
preserveFragment?: boolean | When true, preserves the URL fragment for the next navigation // Preserve fragment from /results#top to /view#top this.router.navigate(['/view'], { preserveFragment: true }); |
skipLocationChange?: boolean | When true, navigates without pushing a new state into history. // Navigate silently to /view this.router.navigate(['/view'], { skipLocationChange: true }); |
replaceUrl?: boolean | When true, navigates while replacing the current state in history. // Navigate to /view this.router.navigate(['/view'], { replaceUrl: true }); |
state?: {
[k: string]: any;
} | Developer-defined state that can be passed to any navigation. Access this value through the After a navigation completes, the router writes an object containing this value together with a Note that |
© 2010–2020 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.
https://v10.angular.io/api/router/NavigationExtras