说明
router设计核心是一个路由对应一个组件
- 本教程需要有一定router基础
- 定义路由
- 导入组件
- 传参
- 守卫
- 编程式路由
一、定义路由
- 自定义路由
{
path:......,
name:......,
component:......
}
- 子路由
{
path:......,
children:[
{
path:......,
name:......,
component:......
},
......
]
}
注:path相对路径和绝对路径
相对路径:只写字路由
绝对路由:全路由
二、导入组件
- 全局导导入
import ...... from ......
- 惰性导入
()=>import(......)
三、 传参
- 传统传参
- 字符串传参
<router-link to='url?var=value&var=value.......'></router-link>
- 对象传参
router-link to="{
path | name:......, //用path时就是路径,是name时就是定义的路由名
query:{......}
}"
- Rest传参
- 定义 path:“url/:var/:var…”
- <router-link to=“url/value/value…”>
- 对象传参
<router-link :to="{
name:......,//只能用name,不能用path
params:{......}
}">context</router-link>
- 取值(路由对象route)
this.$route.query
this.$route.params
route其它属性
name
path
fullpath
meta
query
params
四、 守卫
注:在根组件index.js中创建
router.beforEach((to,from,next)=>{
to.path //去的路由
from.path //来的路由
next() //下一个函数
next(path) //指向路由
})
五、编程式路由
this.$router.push(path) 指定路由
this.$router.forword() 向前一步
this.$router.back() 向后一步
this.$router.go(n) 向前或向后几步
本文详细介绍了Vue3 Router的使用,包括如何定义路由、导入组件、传递参数、设置路由守卫以及实现编程式导航。通过实例讲解了相对路径和绝对路径的使用,组件的全局和惰性导入,以及通过字符串、对象方式传递参数的方法。同时,阐述了如何在守卫中操作路由,并演示了编程式路由的push、forward、back和go方法。
&spm=1001.2101.3001.5002&articleId=123181740&d=1&t=3&u=be9825e816f643d6b4ac54cb5893fd9f)
4343

被折叠的 条评论
为什么被折叠?



