Vue3.0路由跳转携带参数的示例详解

 更新时间:2023年04月14日 09:19:37   作者:Particular12.  
这篇文章主要介绍了Vue3.0路由跳转携带参数的示例代码,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

一、路由跳转

1、在需要跳转的页面

//引入API---useRouter
import { useRouter } from 'vue-router'
......
//定义router变量
const router =useRouter()
const methodClick=(data)=>{
let paramValue=data.deviceCode
//路由跳转,携带参数
router.push('/equipment/operation?deviceCode='+paramValue)

用router.push跳转页面:
例:
// 字符串
router.push('home')
// 对象
router.push({ path: 'home' })
// 命名的路由
router.push({ name: 'user', params: { userId: '123' }})
// 带查询参数,变成 /register?userId=123
router.push({ path: 'register', query: { userId: '123' }})

2、如果有参数的话,在接收页面引入API–useRoute

import { useRoute } from 'vue-router'
......
//在接收页面定义变量route,获取传过来的变量
const route = useRouter()
onMounted(() => {
	if (route.currentRoute.value.query.deviceCode) {
		state.codeDevice2 = route.currentRoute.value.query.deviceCode
	}
})

例:
//首先在setup中定义
const route = useRoute()
//query
let userId=route.query.userId;
//params
let userId=route.params.userId;

二、页面传参需要注意的问题

1、如果提供了 path,params 会被忽略,但query 没有这种情况,此时需要提供路由的 name 或手写完整的带有参数的 path

const userId = '123'
router.push({ name: 'user', params: { userId }}) // -> /user/123
router.push({ path: `/user/${userId}` }) // -> /user/123
// 这里的 params 不生效
router.push({ path: '/user', params: { userId }}) // -> /user

2、上述规则同样适用于 router-link 组件的 to 属性
3、如果目的地和当前路由相同,只有参数发生了改变 (比如从一个用户资料到另一个 /users/1 -> /users/2),你需要使用 beforeRouteUpdate 来响应这个变化 (比如抓取用户信息)

到此这篇关于Vue3.0路由跳转携带参数的文章就介绍到这了,更多相关Vue3.0路由跳转内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Vue封装Axios请求和拦截器的步骤

    Vue封装Axios请求和拦截器的步骤

    这篇文章主要介绍了Vue封装Axios请求和拦截器的步骤,帮助大家更好的对axios进行封装并将接口统一管理,同时为请求和响应设置拦截器interceptors。,感兴趣的朋友可以了解下
    2020-09-09
  • v-show和v-if的区别 及应用场景

    v-show和v-if的区别 及应用场景

    这篇文章主要介绍了v-show和v-if的区别及应用场景,vue中v-show与 v-if的作用效果是相同的,都能控制元素在页面是否显示,但是也有一定的区别,下面文章梳理总结v-show和v-if的区别,需要的小伙伴可以参考一下
    2022-06-06
  • 解决vue 使用setTimeout,离开当前路由setTimeout未销毁的问题

    解决vue 使用setTimeout,离开当前路由setTimeout未销毁的问题

    这篇文章主要介绍了解决vue 使用setTimeout,离开当前路由setTimeout未销毁的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-07-07
  • Vue命令行工具Vue-CLI图文详解(推荐!)

    Vue命令行工具Vue-CLI图文详解(推荐!)

    vue-cli 是 Vue.js 开发的标准工具,它简化了程序员基于 webpack 创建工程化的 Vue 项目的过程,下面这篇文章主要给大家介绍了关于Vue命令行工具Vue-CLI的相关资料,需要的朋友可以参考下
    2022-07-07
  • vue、element实现表格表头纵向显示方式

    vue、element实现表格表头纵向显示方式

    这篇文章主要介绍了vue、element实现表格表头纵向显示方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-10-10
  • 在vue中把含有html标签转为html渲染页面的实例

    在vue中把含有html标签转为html渲染页面的实例

    今天小编就为大家分享一篇在vue中把含有html标签转为html渲染页面的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-10-10
  • vue.js简单配置axios的方法详解

    vue.js简单配置axios的方法详解

    axios是一个基于Promise 用于浏览器和 nodejs 的 HTTP 客户端,下面这篇文章主要给大家介绍了关于vue.js简单配置axios的相关资料,需要的朋友们可以参考借鉴,需要的朋友们下面来一起学习学习吧。
    2017-12-12
  • 关于Vue项目跨平台运行问题的解决方法

    关于Vue项目跨平台运行问题的解决方法

    这篇文章主要介绍了关于Vue项目跨平台运行问题的解决方法,特别记录一下踩的坑,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-09-09
  • Vue.js实现音乐播放器

    Vue.js实现音乐播放器

    这篇文章主要为大家详细介绍了Vue.js实现音乐播放器,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-06-06
  • vue使用element-ui的el-image的问题分析

    vue使用element-ui的el-image的问题分析

    这篇文章主要介绍了vue使用element-ui的el-image的问题分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01

最新评论