【vue3】路径上的参数(params / query)

params 和 query的区别

众所周知 , params 和 query 都可以在页面跳转的时候传递参数。
但是,它们是有区别的!!!

query

query参数紧接URL后面,在地址栏上可以看见。相当于 get 请求
举例:urlPath?queryDataOne=12&queryDataTwo=12

params

params参数是路由的一部分,以对象形式传递参数。相当于post请求
使用params传参只能由name引入路由。
举例:urlPath/:queryDataOne/:queryDataTwo

在vue3中,params和query是怎样传参和接收参数的呢??

<script setup>
import { reactive, ref } from 'vue';
import { useRoute,useRouter } from 'vue-router'
//  useRoute 相当于vue2中的this.$route(),表示当前的路由对象
//  useRouter 相当于vue2中的this.$router(),表示全局的路由对象

const router = useRouter()
// 获取页面参数
const query = reactive(router.currentRoute.value.query)
const params = reactive(router.currentRoute.value.params)
const pageType = ref(params.type || '') 
console.log('页面参数:', query, params) 

// 传参 query
const transPage= ()=>{
	router.push({
		path:'/pageOne',
		query:{
			type:1,
			name:2,
		}
	})
}

// 传参params
const transPage2= ()=>{
	router.push({
		name:'pageTwo',
		params:{
			type:1,
			name:2,
		}
	})
}

</script>

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值