router-link有什么用?及动态传参

304 阅读2分钟

vue-router的作用

vue-router提供的全局组件,用于替换a标签 < router-link to=‘/路径值’>< /router-link> 必须传入to属性,指定路由路径值, 而且它会自动根据地址值添加类名,我们可以通过类名来实现点击高亮的效果

router-link它的两个类名router - link -exact - active router - link - active 第一个为精确匹配 第二个是模糊匹配 精确匹配只会地址完全一致才会添加类名, 模糊匹配只要一部分地址值相同就添加

动态路由传参

在router/index.js 配置动态路由参数, /search/:参数名 传递:/search/参数值 目标组件中接收参数:$route.params.参数名

两种传参的区别 1.查询参数传参 适合传递多个参数 跳转 to='/path?参数名=值& 参数2=值' 2 获取 $route.query.参数值

2 动态路由传参 优雅简洁 传单参比较方便 1 配置动态路由: path: ‘’/path/参数名‘’ 冷知识 在参数名后面加问号,表示可选参数,传不传都可以匹配到这条路由规则 2 跳转: to=‘/path/参数值’ 3 获取 $route.params.参数值

Vue路由 重定向

问题 网页打开, url默认路径是/路径,未匹配到组件时,会出现空白 说明 重定向 匹配path后 强制跳转path路径 语法 在配置路由规则的文件夹下加一条规则 { path:‘/(匹配路径)’ , redirect: '重定向到的路径'},

解决路由-404

作用 当路径找不到匹配时,给个提示页面 位置: 配在路由末尾添加 * 来设置404页面组件 语法: path: ' * ' , component:新建一个组件名 前面不匹配就命中最后这个

路由模式设置

问题:路由的路径看起来不自然, 有#, 能否切成真正的路径形势? 在配置路由规则的同级加mode属性,它有两个值,默认时hash 更改成history就没有#号,但需要后端支持