前言
除了使用Router的navigate()方法切換路由,Angular2還提供了一個指令用來 將一個DOM對象增強為路由入口:
@View({ directives:[RouterOutlet,RouterLink] template : `<nav> <b router-link="video">video</b> | <b router-link="music">music</b> </nav> <router-outlet></router-outlet>` })
RouterLink指令為宿主DOM對象添加click事件監聽,在觸發時調用Router的 navigate()方法進行路由。
不過本文主要介紹的是關于Angular之RouterLink花式跳轉的相關內容,分享出來供大家參考學習,下面話不多說了,來一起看看詳細的介紹吧。
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
總結
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com