router-link:导航链接 / 声明式导航、跳转传参
vue-router 提供了一个全局组件 router-link(取代 a 标签)
router-link 本质还是 a 标签
router-link 功能:
① 能跳转,配置 to 属性指定路径(必须),本质还是 a 标签,to 无需 #
② 能高亮,默认就会提供 高亮类名,可以直接设置高亮样式
router-link 会自动给当前导航添加两个类名:router-link-active(模糊匹配,用的比较多)、router-link-exact-active(精确匹配)
代码演示:
修改前:
<a href = " #/find " > 发现音乐 </a>
<a href = " #/my " > 我的音乐 </a>
修改后:
<router-link to = " /find " > 发现音乐 </router-link>
<router-link to = " /my " > 我的音乐 </router-link>
在 style 标签里给 router-link 设置导航高亮:
<style>
a.router-link-active {
background-color: #bfd7e1;
}
</style>
或者(推荐用上一个)
<style>
a.router-link-exact-active {
background-color: #bfd7e1;
}
</style>
---------------------------------------------------------------------------------------------------------------------------
router-link 跳转传参:
应用场景:在跳转路由时 进行传参
语法:
方法一 :查询参数传参:
① 语法格式: to = " /path ? 参数名 = 值 & 参数名2 = 值2 "
② 对应页面组件接收传递过来的值: $route.query.参数名
eg:<p> 搜索关键字:{{ $route.query.username }} </p>
在 mounted () 或 created () 中如果要获取路由参数,需要通过 this.$route.query.参数名 来获取
方法二 :动态路由传参:
① 配置动态路由
const router = new VueRouter({
routes: [
{ path: ' /search/:words ' , component: Search },
]
})
② 配置导航链接: to = " /path/参数值 " (eg:to = " /search/黑马程序员 ")
③ 对应页面组件接收传递过来的值: $route.params.参数名
eg: $route.params.words (words这里是看第①步是什么路由)
{{ $route.params.words }} → 黑马程序员
动态路由传参的注意点: /search/:words 表示 必须要传参数。如果不传参数,也希望匹配,可以加个可选符 " ? "
eg:{ path: ' /search/:words? ' , component: Search }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能