vue的導航連結元件是什麼

2022-12-15 14:00:28

vue的導航連結元件是「router-link」。「<router-link>」元件支援使用者在具有路由功能的應用中點選導航,通過to屬性指定目標地址,語法為「<router-link to="url">...</router-link>」;預設渲染為帶有正確連線的「<a>」標籤,可以通過設定tag屬性生成別的標籤。

前端(vue)入門到精通課程,老師線上輔導:聯絡老師
Apipost = Postman + Swagger + Mock + Jmeter 超好用的API偵錯工具:

本教學操作環境:windows7系統、vue3版,DELL G3電腦。

vue的導航連結元件是「router-link」。

vue 元件router-link介紹

<router-link>元件支援使用者在具有路由功能的應用中點選導航。通過to屬性指定目標地址,預設渲染為帶有正確連線的<a>標籤,可以通過設定tag屬性生成別的標籤。另外,當目標路由成功啟用時,連結元素自動設定一個表示啟用的css類名

router-link在哪?

  • 這裡展示的主頁面當中的 router-link

  • 所以它在 App.vue 裡面(為什麼主頁面寫在 App裡,不是應該寫在 index.html裡面嗎?no no no,這裡是將這個頁面獲得到的內容 渲染到 主頁面)【相關推薦:、】

  • 在 App.vue裡面你愛寫在哪就在哪

1.png

router-link如何使用

  • 你要建立好對應的元件

  • 你要將你的元件寫好對應的路由地址

  • 在 App.vue頁面寫入對應(連結)

寫路由並且匯入元件的詳細過程上面的那篇文章裡面有,這裡只簡單介紹一下

1、你要建立好對應的元件

2.png

2、你要將你的元件寫好對應的路由地址

3.png

3、在 App.vue頁面寫入對應(連結)

4.png

結果展示:

5.png

它裡面的內容介紹

<router-link to="/">Home</router-link>
登入後複製

這裡面 to 屬性指定要跳轉路由的path(位址列內的地址).

  • 這個裡面的 to 要和你指定的path一致,不區分大小寫

  • 補充:a標籤不可以,因為它是重新開啟一個標籤,他也能實現那個效果,只不過給人的感覺不像 router-link 那麼友好

擴充套件知識:router-link的屬性

<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
    }
]
*/
登入後複製

2、tag

型別: string

預設值: "a"

如果想要 <router-link> 渲染成某種標籤,例如 <li>。 於是我們使用 tag prop 類指定何種標籤,同樣它還是會監聽點選,觸發導航。

      <router-link :to="'index'"
                   tag="li"
                   event="mouseover">Home
      </router-link>
登入後複製

如果此時我們想要在這個li標籤中新增a標籤,如下所示,可以不為a標籤新增href屬性即可哦

        <router-link :to="{name:'Home'}" tag="li">
        <a>Home</a>
        </router-link>
登入後複製

在這種情況下,<a> 將作為真實的連結 (它會獲得正確的 href 的),而 "啟用時的CSS類名" 則設定到外層的 <li>。

3、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
    }
]
})
登入後複製

4、exact-active-class

型別: string

預設值: "router-link-exact-active"

設定當連結被精確匹配的時候應該啟用的 class。注意預設值也是可以通過路由建構函式選項 linkExactActiveClass 進行全域性設定的。

5、exact

型別: boolean

預設值: false

"是否啟用" 預設類名的依據是 inclusive match (全包含匹配)。 舉個例子,如果當前的路徑是 /a 開頭的,那麼 <router-link to="/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 屬性後,則在當前 (相對) 路徑前新增基路徑

【相關推薦:】

以上就是vue的導航連結元件是什麼的詳細內容,更多請關注TW511.COM其它相關文章!