項目中遇到一個需求,就是另一個管理系統帶參直接單純的跳轉跳轉到vue pc項目中的某個頁面,后再初始化查詢數據,參數以地址欄的形式傳入
管理系統:打開新地址地址
let obj = { id: 21, name: "測試傳參" };
window.open("http://localhost:8080/loginM?obj=" + JSON.stringify(obj),"_blank");
pc項目獲取地址欄參數:
export function getUrlKey(name){
return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.href) || [, ""])[1].replace(/\+/g, '%20')) || null
}
在newPage.vue文件中調用:
import {getUrlKey} from './getUrlKey.js'
data() {
return {
data :'',
}
},
created(){
// 地址欄:`http://localhost:8080/loginM?obj={%22id%22:21,%22name%22:%22%E6%B5%8B%E8%AF%95%E4%BC%A0%E5%8F%82%22}#/login`
//獲取地址欄參數 this.data = getUrlKey('obj')
console.log(this.data.id) //21
},