angular 的navigate 各類使用狀況

navigate是Router類的一個方法,主要用來跳轉路由。 
函數定義:瀏覽器

navigate(commands: any[], extras?: NavigationExtras) : Promise`<boolean>`
  • 1
  • 1
interface NavigationExtras { relativeTo : ActivatedRoute queryParams : Params fragment : string preserveQueryParams : boolean preserveFragment : boolean skipLocationChange : boolean replaceUrl : boolean }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

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路由不會進行跳轉路由

相關文章
相關標籤/搜索