Skip to content

vue3页面跳转与路由的传参,以及跳转后的页面是如何接收参数的。

  • query 传参配置的是 path,而 params 传参配置的是name,在 params中配置 path 无效
  • query 在路由配置不需要设置参数,而 params 必须设置
  • query 传递的参数会显示在地址栏中
  • params传参刷新会无效,但是 query 会保存传递过来的值,刷新不变

1. 路由跳转与query方式传参

item是一个对象

javascript
const toDetail = (item) => {
    router.push({
        path: '/reg', // 也可以写为 '/reg?name=张三&age=18'
        query: item
    })
}

2. 接收query方式传递过来的参数

javascript
import { useRoute } from 'vue-router';
const route = useRoute()
// 获取接收的参数
const name = route.query.name

3. 路由跳转与params方式传参

编程式导航,使用router push 或者 replace 的时候,改为对象形式并且只能使用name,path无效,然后传入params

javascript
const toDetail = (item) => {
    router.push({
        name: 'Reg',
        params: item
    })
}

4. 接收params方式传递过来的参数

接收参数的用法是一样的

javascript
import { useRoute } from 'vue-router';
const route = useRoute()
// 获取接收的参数
const name = route.query.name