1. 程式人生 > >angularjs 中 router路由跳轉navigate的使用

angularjs 中 router路由跳轉navigate的使用

一、router.navigate的使用

navigate是Router類的一個方法,主要用來跳轉路由。 

函式定義:

?
1navigate(commands: any[], extras?: NavigationExtras) : Promise`<boolean>`
?
123456789interface NavigationExtras {relativeTo : ActivatedRoutequeryParams : Paramsfragment : stringpreserveQueryParams : booleanpreserveFragment : booleanskipLocationChange : boolean
replaceUrl : boolean}

1.this.router.navigate(['user', 1]); 

以根路由為起點跳轉

2.this.router.navigate(['user', 1],{relativeTo: route}); 

預設值為根路由,設定後相對當前路由跳轉,route是ActivatedRoute的例項,使用需要匯入ActivatedRoute

3.this.router.navigate(['user', 1],{ queryParams: { id: 1 } }); 
路由中傳引數 /user/1?id=1

4.this.router.navigate(['view', 1], { preserveQueryParams: true }); 


預設值為false,設為true,保留之前路由中的查詢引數/user?id=1 to /view?id=1

5.this.router.navigate(['user', 1],{ fragment: 'top' }); 

路由中錨點跳轉 /user/1#top

6.this.router.navigate(['/view'], { preserveFragment: true }); 

預設值為false,設為true,保留之前路由中的錨點/user/1#top to /view#top

7.this.router.navigate(['/user',1], { skipLocationChange: true }); 


預設值為false,設為true路由跳轉時瀏覽器中的url會保持不變,但是傳入的引數依然有效

8.this.router.navigate(['/user',1], { replaceUrl: true }); 

未設定時預設為true,設定為false路由不會進行跳轉