<router-link> 組件支持用戶在具有路由功能的應用中點擊導航。 通過 to 屬性指定目標地址,默認渲染成帶有正確鏈接的 <a> 標簽,可以通過配置 tag 屬性生成別的標簽。另外,當目標路由成功激活時,鏈接元素自動設置一個表示激活的 CSS 類名
<router-link> 比起寫死的 <a href="..." rel="external nofollow" > 會好一些。無論是 HTML5 history 模式還是 hash 模式,它的表現行為一致,所以,當切換路由模式,或者在 IE9 降級使用 hash 模式,無須作任何變動;在 HTML5 history 模式下,router-link 會攔截點擊事件,讓瀏覽器不再重新加載頁面;在 HTML5 history 模式下使用 base 選項之后,所有的 to 屬性都不需要寫基路徑了
類型 string | Location
表示目標路由的鏈接。當被點擊后,內部會立刻把 to 的值傳到 router.push(),所以這個值可以是一個字符串或者是描述目標位置的對象
<!-- 字符串 --> <router-link to="home">Home</router-link> <!-- 渲染結果 --> <a href="home" rel="external nofollow" >Home</a> <!-- 使用 v-bind 的 JS 表達式 --> <router-link v-bind:to="'home'">Home</router-link> <!-- 不寫 v-bind 也可以,就像綁定別的屬性一樣 --> <router-link :to="'home'">Home</router-link> <!-- 同上 --> <router-link :to="{ path: 'home' }">Home</router-link> <!-- 命名的路由 --> <router-link :to="{ name: 'user', params: { userId: 123 }}">User</router-link> <!-- 帶查詢參數,下面的結果為 /register?plan=private --> <router-link :to="{ path: 'register', query: { plan: 'private' }}">Register</router-link>類型: boolean
默認值: false
設置 replace 屬性的話,當點擊時,會調用 router.replace() 而不是 router.push(),于是導航后不會留下 history 記錄
<router-link :to="{ path: '/abc'}" replace></router-link>類型: boolean
默認值: false
設置 append 屬性后,則在當前(相對)路徑前添加基路徑。例如,從 /a 導航到一個相對路徑 b,如果沒有配置 append,則路徑為 /b,如果配了,則為 /a/b
<router-link :to="{ path: 'relative/path'}" append></router-link>類型: string
默認值: "a"
有時想要 <router-link> 渲染成某種標簽,例如 <li>。 于是使用 tag prop 類指定何種標簽,同樣它還是會監聽點擊,觸發導航
<router-link to="/foo" tag="li">foo</router-link> <!-- 渲染結果 --> <li>foo</li>
類型: string
默認值: "router-link-active"
新聞熱點
疑難解答
圖片精選