方法1 利用插件qs获取路由参数
// 1.安装qs.js
npm install qs --save
// 2.使用的界面引入
import qs from 'qs'
// 3.封装一个方法获取 第一个参数整个路由,第二个参数某个key
function getParams(strlen,str){
let c= strlen
if(c.includes('?')){
c = c.split('?')[1]
}
const obj = qs.parse(c) || {}
return obj[str] || ''
}
// 4.获取路由的 jiuzhenks
getParams('http://localhost:8080/#/doctorRoom/overallInfo?vstId=456&tabTitle=%E5%91%A8%E5%B0%8F%E8%90%B1&jiuzhenks=123&msStr=DBA', 'jiuzhenks')
// 5.如何获取整个路由参数
qs.parse(xxx) // xxx 为?后携带的参数
方法2 利用正则获取路由参数
// 封装正则获取方法
function getParameters(str){
return JSON.parse(`{"${decodeURI(str.split("?")[1]).replace(/"/g, '\\"').replace(/&/g, '","').replace(/=/g, '":"')}"}`)
}
getParameters('http://localhost:8080/#/doctorRoom/overallInfo?vstId=456&tabTitle=%E5%91%A8%E5%B0%8F%E8%90%B1&jiuzhenks=123&msStr=DBA');
// 获取结果
{
"vstId": "456",
"tabTitle": "周小萱",
"jiuzhenks": "123",
"msStr": "DBA"
}
原来这么简单!!!!!