1. 程式人生 > >router-link樣式問題,在列表中保留一個router-link-active類

router-link樣式問題,在列表中保留一個router-link-active類

最近在使用vue時發現router-link會出現兩個啟用類的問題

如圖:會出現兩個啟用的狀態

我的路由配置如下:

export default new Router({
  routes: [
    {
      path: '/',
      name: 'Home',
      component: Home
    },
    {
      path: '*',
      name: 'error',
      component: Error
    },
    {
      path: '/list',
      name: 'list',
      component: List
    
}, ], mode:"history", linkActiveClass:"current_ele", base:__dirname, })

預設會啟用 “/” 路由也就是開始訪問時,首頁兩個字就會高亮出來,但是當我點選其他的選單時,這兩個字仍然時高亮的,即同時會出現兩個高亮的選單欄,於是我發現一個快速解決的方案以作記錄

<li>
    <router-link to="/" exact>首頁</router-link>
</li>

正是 exact 這個關鍵字幫我解決了這個。

再看vue文件:

  • exact

型別: boolean

預設值: false

“是否啟用” 預設類名的依據是 inclusive match (全包含匹配)。 舉個例子,如果當前的路徑是 /a 開頭的,那麼 也會被設定 CSS 類名。
按照這個規則,每個路由都會啟用!想要連結使用 “exact 匹配模式”,則使用 exact 屬性:

  <!-- 這個連結只會在地址為 / 的時候被啟用 -->
  <router-link to="/" exact>

這個意思就是全包含,只有當路由地址為“/”時才會匹配到,就相當於一種嚴格匹配模式吧!