• Overview
@angular/router

UrlCreationOptions

interface

Options that modify the Router URL. Supply an object containing any of these properties to a Router navigation function to control how the target URL should be constructed.

  
    interface UrlCreationOptions {}
  
  

relativeTo

ActivatedRoute | null | undefined

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 go() function navigates to the list route by interpreting the destination URI as relative to the activated child route

          
 @Component({...}) class ChildComponent {   constructor(private router: Router, private route: ActivatedRoute) {}   go() {     router.navigate(['../list'], { relativeTo: this.route });   } }

A value of null or undefined indicates that the navigation commands should be applied relative to the root.

queryParams

Params | null | undefined

Sets query parameters to the URL.

          
// Navigate to /results?page=1router.navigate(['/results'], { queryParams: { page: 1 } });

fragment

string | undefined

Sets the hash fragment for the URL.

          
// Navigate to /results#toprouter.navigate(['/results'], { fragment: 'top' });

queryParamsHandling

QueryParamsHandling | null | undefined

How to handle query parameters in the router link for the next navigation. One of:

  • preserve : Preserve current parameters.
  • merge : Merge new with current parameters.

The "preserve" option discards any new query params:

          
// from /view1?page=1 to/view2?page=1router.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=2router.navigate(['/view2'], { queryParams: { otherKey: 2 },  queryParamsHandling: "merge"});

In case of a key collision between current parameters and those in the queryParams object, the new value is used.

preserveFragment

boolean | undefined

When true, preserves the URL fragment for the next navigation

          
// Preserve fragment from /results#top to /view#toprouter.navigate(['/view'], { preserveFragment: true });
Jump to details