Vue路由params和query的区别(传参和跳转)

路由VueRouter

两种跳转

声明式导航(最容易实现):router-link实质上最终会渲染成a链接 to属性等价于提供 href属性(to无需#)

编程式导航(用JS代码来进行跳转):
$router : 是路由操作对象,只写对象 push实现跳转
$route : 路由信息对象,只读对象 读取属性中的query和params

this.$router.push({ name:‘hello’, query:{ name:‘word’, age:‘11’ } })

params和query

跳转区别:

this.$router.push({
	path:'路由路径',
	name:‘路由名’
	
	//不限制跳转关键字
	query:{
		“参数名”:值
	}
	
	//只能name跳转,记得route文件中书写name=‘xxx’(无 /)route中path需要带参
	params:{
		“参数名”:值
	}
)

query相当于GET请求,页面跳转的时候,可以在地址栏看到请求参数

params相当于POST请求,参数不会在地址栏中显示


传参区别
query传递参数会在url后面用?连接起来,且参数之间用&&符号连接然后显示在页面的url中(get)

params传递参数不会显示在页面中(post)

		{
			//params传参的话,path和name组合使用
			path: '/Detail/:name/:id',
			name:'Detail',
			component: () => import('@/views/Detail.vue'),
		},
	query传参就在页面中配置就好了
	this.$router.push({
		path:'路由路径',
		
		
		//不限制跳转关键字
		query:{
			"name":`大帅比'
			"keyword":'是我'
		}

总结:

  1. query的params的作用不分伯仲
  2. 在隐藏参数的情况下用parmas
  3. parmas的传参,需要在routes中配置name='Detail’和path=’Detail/:skuId‘属性的参数
  4. 一般的情况下用query的话,配置的代码少写

周更Vue技能树=>JavaScript技能书

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值