On this page
NavigationExtras
interface
| npm Package | @angular/router | 
|---|---|
| Module | import { NavigationExtras } from '@angular/router'; | 
     
| Source | router/src/router.ts | 
Interface Overview
interface NavigationExtras { 
  relativeTo?: ActivatedRoute | null
  queryParams?: Params | null
  fragment?: string
  preserveQueryParams?: boolean
  queryParamsHandling?: QueryParamsHandling | null
  preserveFragment?: boolean
  skipLocationChange?: boolean
  replaceUrl?: boolean
}
  Members
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 });
  replaceUrl?: boolean
  Navigates while replacing the current state in history.
// Navigate to /view
this.router.navigate(['/view'], { replaceUrl: true });
  © 2010–2018 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.
 https://v5.angular.io/api/router/NavigationExtras