封装了两个函数,都是对应地址栏来拿取我们所需要的字段;比如说我们地址栏现在是这样的:
http://localhost:8888/page/patients/receive/persion/management?userId=1543333125&clinicId=3
我们想拿到userId对应的信息还有clinicId对应的信息,不妨试试下面的这两个函数
1.第一种
// 获取url后面的参数
getSearchString(key) {
var str = window.location.search
str = str.substring(1, str.length) // 获取URL中?之后的字符(去掉第一位的问号)
// 以&分隔字符串,获得类似name=xiaoli这样的元素数组
var arr = str.split('&')
var obj = new Object()
// 将每一个数组元素以=分隔并赋给obj对象
for (var i = 0; i < arr.length; i++) {
var tmp_arr = arr[i].split('=')
obj[decodeURIComponent(tmp_arr[0])] = decodeURIComponent(
tmp_arr[1]
)
}
return obj[key]
},
2.第二种方法
// 获取浏览器路径参数
getQueryString(name) {
var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i')
var r = window.location.search.substr(1).match(reg)
if (r != null) {
return unescape(r[2])
}
return null
},
使用时可直接在mounted生命周期中直接打印
这样就能拿到 1543333125 这个值了,其他的也是一样的,只要知道等号前面的字段名字都可以拿到。
提示:两个方法名字是不一样的,别拿着这个方法去打印那个事件,那就尴尬了。