query 和 params 傳參
阿新 • • 發佈:2021-01-26
技術標籤:my_jsjavascriptvue.jsreactjs
query傳參
第一種
this.$router.push({ path: '/discomfortBook', query: {a:1, b:2, c:3 }})
url為
控制檯列印:
第二種
this.$router.push({path:'/discomfortBook', query: {obj: {a:1, b:2, c:3 }}})
url 為
注 推薦方式二,如果屬性比較多的時候,第一種傳參會把query裡面的欄位全部都暴露在url位址列中,url會比較長,還有可能會導致url超出chrome規定url最長位元組長度(2m)
params傳參
this.$router.push({name: 'discomfortBook', params: { obj: {a: 1, b:2, c: 3}}})
url 為
控制檯:
重新整理頁面後,obj的值會成這樣
解決: JSON.stringify() 和 JSON.parse()轉一下
this.$router.push({name: 'discomfortBook', params: { obj: JSON.stringify({a:1, b:2, c:3}) }})
JSON.parse(this.$route.params.obj)