router-link樣式問題,在列表中保留一個router-link-active類
阿新 • • 發佈:2019-01-30
最近在使用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>
這個意思就是全包含,只有當路由地址為“/”時才會匹配到,就相當於一種嚴格匹配模式吧!