routerLink本身支援兩種寫法:
<a routerLink="detail">
</a>
<a [routerLink]="['detail']">
</a>
複製程式碼
routerLink的值有哪些寫法,又有什麼區別呢?
假設當前路由為
`http://localhost:4200/#/doc/license`
複製程式碼
-
寫法1 : 絕對路徑
/ + 路由名字
<!--跳到 http://localhost:4200/#/doc/license -->
<a [routerLink]="['/doc/demo']" >跳呀跳</a>
<!--跳到 http://localhost:4200/#/demo -->
<a [routerLink]="['/demo']" >跳呀跳</a>
複製程式碼
那麼url是
http://localhost:4200/#/doc/demo
上跳轉,即 http://localhost:4200/#/
+ 你要跳轉的絕對路徑
。
-
寫法2 : 一個路由名字
路由名字
<a [routerLink]="['demo']" >跳呀跳</a>
複製程式碼
那麼url是http://localhost:4200/#/doc/license/(demo)
,即http://localhost:4200/#/doc/license
+ 你要跳轉的絕對路徑
,這時候它會給你的路由加些東西變成 /(demo)
,跳轉不了。
-
寫法3 :相對路徑
../路由名字
<a [routerLink]="['../demo']" >跳呀跳</a>
複製程式碼
那麼url是
http://localhost:4200/#/doc/demo
,即 http://localhost:4200/#/doc
+ 你要跳轉的相對路徑
。它會從上一級開始尋找。
-
寫法4 :
./路由名字
, 即現在的路由+你寫的要跳去的路由
<a [routerLink]="['./demo']" >跳呀跳</a>
複製程式碼
那麼url是
http://localhost:4200/#/doc/license/demo
上,即 http://localhost:4200/#/doc/license
+ 你要跳轉的相對路徑
。它會從當前路由的下一級開始尋找此匹配的路由進行跳轉。
| 更多API用法更新於 github