vue2.0中router-link詳解

vue2.0中router-link詳解

<router-link>組件支持用戶在具有路由功能的應用中點擊導航。通過to屬性指定目標地址,默認渲染爲帶有正確連接的<a>標籤,可以通過配置tag屬性生成別的標籤。另外,當目標路由成功激活時,鏈接元素自動設置一個表示激活的css類名.
<router-link>組件的屬性有:to 、replace、 append、 tag、 active-class、 exact 、 event、 exact-active-class

  1. to(必選參數):類型string/location 表示目標路由的鏈接,該值可以是一個字符串,也可以是動態綁定的描述目標位置的對象
//下面是字符串的形式
<router-link to="home">Home</router-link>
 
//下面幾種爲動態綁定,v-bind: 可以簡寫爲:
 
 
<router-link :to="'index'">Home</router-link>
 
/*但注意這個組件的導出需要有類似下面的代碼
export default {
  name: 'App',
  data(){
    return {
      index:'/'
    }
  }
}
*/
 
<router-link :to="{ path: '/home' }">Home</router-link>
/*
這個路徑就是路由中配置的路徑
*/
<router-link :to="{ name: 'User'}">User</router-link>
/*
  在路由的配置的時候,添加一個name屬性,例如:
 routes: [
    {
      path:'/home',
      name:'User',
      component:home
    }
]
*/

  1. tag 類型: string 默認值: “a” 。 如果想要 <router-link>渲染成某種標籤,例如<li>。 於是我們使用 tag prop 類指定何種標籤,同樣它還是會監聽點擊,觸發導航。
      <router-link :to="'index'"
                   tag="li"
                   event="mouseover">Home
      </router-link>

  1. active-class 類型: string ,默認值: “router-link-active”
    設置 鏈接激活時使用的 CSS 類名。默認值可以通過路由的構造選項 linkActiveClass 來全局配置
<router-link :to="{path:'/about'}"
                   active-class="activeClass"                  
      >about</router-link>

默認值通過路由的構造選項 linkActiveClass 來全局配置,如下示例:

export default new Router({
  mode:'history',
  linkActiveClass:'is-active',
  routes: [
    {
      path:'/about',
      component:about
    }
]
})

  1. exact-active-class 類型: string ,默認值: “router-link-exact-active” 配置當鏈接被精確匹配的時候應該激活的 class。注意默認值也是可以通過路由構造函數選項 linkExactActiveClass 進行全局配置的。
  2. exact 類型: boolean , 默認值: false “是否激活” 默認類名的依據是 inclusive match (全包含匹配)。 舉個例子,如果當前的路徑是 /a 開頭的,那麼 也會被設置 CSS 類名。按照這個規則,每個路由都會激活<router-link to="/">!想要鏈接使用 “exact 匹配模式”,則使用 exact 屬性:
        <li><router-link to="/">全局匹配</router-link></li>
        <li><router-link to="/" exact>嚴格匹配</router-link></li>

簡單點說,第一個的話,如果地址是/aa,或/aa/bb,……都會匹配成功,
但加上exact,只有當地址是/時被匹配,其他都不會匹配成功
6. event 類型: string | Array<string>,默認值: ‘click’,聲明可以用來觸發導航的事件。可以是一個字符串。

<router-link to="/document" event="mouseover">document</router-link>

如果我們不加event,那麼默認情況下是當我們點擊document的時候,跳轉到相應的頁面,但當我們加上event的時候,就可以改變觸發導航的事件,比如鼠標移入事件
7. replace 類型: boolean , 默認值: false 設置 replace 屬性的話,當點擊時,會調用 router.replace() 而不是 router.push(),於是導航後不會留下 history 記錄。
8. append 類型: boolean,默認值: false,設置 append 屬性後,則在當前 (相對) 路徑前添加基路徑

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章