vue路由精确匹配模式 exact

给当前路由加上active类名高亮显示:

<template>
  <div id="app">
    <router-link to='/' active-class="active">首页</router-link> |
    <router-link :to="{name:'about'}" active-class="active">关于</router-link>
    <router-view></router-view>
  </div>
</template>
.active{
  color: greenyellow;
}

此时,点击“关于”时两个都高亮了

原因是默认情况下路由是包含匹配模式,也就是 / 和 /about 都是 / 开头,以 / 开头的路由都会被匹配上active类名

解决:

1、给 / 路由加上exact属性,/ 就变成了精确匹配模式,必须是 / 才会匹配过来,/about不会匹配过来

<template>
  <div id="app">
    <router-link to='/' active-class="active" exact>首页</router-link> |
    <router-link :to="{name:'about'}" active-class="active">关于</router-link>
    <router-view></router-view>
  </div>
</template>

2、补全 / 的路径(/home)

<template>
  <div id="app">
    <router-link to='/home' active-class="active">首页</router-link> |
    <router-link :to="{name:'about'}" active-class="active">关于</router-link>
    <router-view></router-view>
  </div>
</template>

 

posted @   吴小明-  阅读(2155)  评论(1编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
历史上的今天:
2020-08-06 scoped的规则
点击右上角即可分享
微信分享提示