vue3.0接收路由传递的参数

一.跳转路由的两种方式

第一步:引入useRouter
import {useRouter} from ‘vue-router’
//useRouter是全局的路由对象
第二步:在setup中复制一下代码:

let router = useRouter()
let goto = ()=>{
	//跳转路由
	**//1.push传入路径或者传入一个对象,push传值有三种方法:**
	//第一种方法
	router.push('/home')
	//第二种方法
	router.push({
		path:'/home'
	})
	//第三种方法
	router.push({
		name:'Home'
	})


	**//2.使用replace传入路径或者传入一个对象**
	//第一种方法
	router.replace('/home')
	//第二种方法
	router.replace({
		path:'/home'
	})
	//第三种方法
	router.replace({
		name:'Home'
	})
}

提示:

push受浏览器的影响,可以前进后退;
replace不受浏览器的影响,不可以前进后退;
应用的场景:
进入启动页或者广告页之后不会在显示了,就可以用replace
push是用户使用浏览器的后退按钮,去回到上一个页面,而replace不行

二.跳转路由的其他方法

import {useRouter} from 'vue-router'
let router = useRouter()
//后退
router.back()
//前进
router.forward()
//进到哪一格
router.go(-1)//传-1就是后退一格
router.go(1)//传1就是前进一格
router.go(2)//传2就是前进2格

三.vue3.0路由传参

1.query传参

let num1=ref(10)
let obj= ref({
	name:'hahha'
})
let query=()=>{
	router.push({
		path:'/about',//query传参path和name属性都可以
		query:{
			num:num1.value,
			obj:JSON.stringify(obj.value)
		}
	})
}

2.params传参

let num1=ref(10)
let obj= ref({
	name:'hahha'
})
let params=()=>{
	router.push({
		name:'About',//params传参只能用name属性
		params:{
			num:num1.value,
			obj:JSON.stringify(obj.value)
		}
	})
}

两者都是可以通过路由跳转的方式,把参数传到另一个路由;
query传参是传在url上的,而params传参是我们看不到的,
query传参刷新页面后仍然存在,而params传参刷新后就没有了

四.vue3.0接收路由传递的参数

第一步:引入useRoute
import {useRoute} from ‘vue-router’
//useRouter是全局的路由对象
//useRoute是当前路由对象

import {useRoute} from 'vue-router'
let route = useRoute()
console.log(route.query)  //query传参
console.log(route.params)  //params传参页面刷新后参数就没有了
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值