navigate是Router類的一個方法,主要用來跳轉路由。
函數定義:瀏覽器
navigate(commands: any[], extras?: NavigationExtras) : Promise`<boolean>`
interface NavigationExtras { relativeTo : ActivatedRoute queryParams : Params fragment : string preserveQueryParams : boolean preserveFragment : boolean skipLocationChange : boolean replaceUrl : boolean }
1.this.router.navigate(['user', 1]);
以根路由爲起點跳轉函數
2.this.router.navigate(['user', 1],{relativeTo: route});
默認值爲根路由,設置後相對當前路由跳轉,route是ActivatedRoute的實例,使用須要導入ActivatedRoutethis
3.this.router.navigate(['user', 1],{ queryParams: { id: 1 } });
路由中傳參數 /user/1?id=1url
4.this.router.navigate(['view', 1], { preserveQueryParams: true });
默認值爲false,設爲true,保留以前路由中的查詢參數/user?id=1 to /view?id=1spa
5.this.router.navigate(['user', 1],{ fragment: 'top' });
路由中錨點跳轉 /user/1#topcode
6.this.router.navigate(['/view'], { preserveFragment: true });
默認值爲false,設爲true,保留以前路由中的錨點/user/1#top to /view#toprouter
7.this.router.navigate(['/user',1], { skipLocationChange: true });
默認值爲false,設爲true路由跳轉時瀏覽器中的url會保持不變,可是傳入的參數依然有效ip
8.this.router.navigate(['/user',1], { replaceUrl: true });
未設置時默認爲true,設置爲false路由不會進行跳轉路由