vue 中确定url中的参数

有个需求就是接口需要需要根据url中的参数,然后传递对应的值。
比如说,url中的参数有两种情况,一种是?a=xxx,一种是?b=xxx,所以需要确定url中到底是a 还是b

比较简单直接放代码:

// cmmmon.js
 
const getUrl = url => {          // 这里确认参数的时候不能`a`和`b`同时存在 
	if(!url) return
	if(url.includes('a')) {    
		return 'a'
	} else if (url.includes('b')) {
		return 'b'
	} else {
		return undefined
	}
}

export {
	getUrl
}


// index.vue
import { gerUrl } from 'common.js'

const name = getUrl(this.$route.fullPath)  // fullPath 为**带参数的路径 **
										   // 具体可以使用vue 提供的 devtools工具查看 或者打印一下
const params = this.$route.query[name]     // 这里就是根据获取url中对应的**参数的值**
										   // 这里需要使用`[]`的形式 不能写成`.` 

上面确认参数的时候,a和b只是一个例子,不能确定简单的参数,因为有可能是这样的?b=abc,这样会返回a,就不准确了,当走到url.includes('a')的时候,检查到?b会继续往下走,直到找到abc里面的a。所以,只有确定语义化的参数才最准确,比如说name id mobile age等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值