最近在做項目號的時候碰到一個問題,就是我在用vue的query傳多個參數,其中有一個參數是一個數組的時候。
我是這么操作的:
在給一個標簽綁定點擊事件:
function fn(a1, a2, a3){
this.$Router.push({
path: "/pages/hcp360/index",
query: {
eid: a1,
docta: a2,
tabList:encodeURIComponent(JSON.stringify(a3))
},
});
}
從上述代碼中可以看出,這個tabList就是我索要傳的數組
而當我在那邊接受參數時:
created(){
let a3 = this.$Route.query.a3
this.a3 = JSON.parse(decodeURIComponent(a3)) //這里報錯了一直拿不到值
}
然后我刷新頁面 之后就能拿到了,并且url也發生了變化,再刷新幾次也沒什么變化了
我仔細觀察了一下,發現這個a3變了,之前他的每個參數連接是這樣a3=%2522name%2575age%...(記不起來了,仿寫的一個)
刷新后變成了這樣a3=%22name%75age%...
這是我發現的一個說明白了的博主的鏈接:
https://blog.csdn.net/weixin_45609589/article/details/130431197
也就是說我在傳參的過程中又被加了一encodeURIComponent,明白了問題所在。想必就知道該怎么解決了吧
created(){
let a3 = this.$Route.query.a3
this.a3 = JSON.parse(decodeURIComponentde(codeURIComponent(a3)))
}
以上就是url的參數進行encodeURIComponent的編碼問題的方法了
如果這篇文章對你有幫助,或者在進行中遇到其他問題,歡迎評論區留言出來。
我們一起探討~