背景:項目中需要跨頁面傳值,如試題id,遇到了刷新后,傳的值消失,所以研究了以下兩者的區別
1.params只能用name來引入路由,query用path來引入
2.params類似於post,query更加類似於我們ajax中get傳參,說的再簡單一點,前者在瀏覽器地址欄中不顯示參數,后者顯示,所以params傳值相對安全一些。
3.取值用法類似分別是this.$route.params.name和this.$route.query.name。
4.params傳值一刷新就沒了,query傳值刷新還存在
this.$router.push({
path:"/detail",
params:{
name:'nameValue',
code:10011
}
});
this.$router.push({
path:'/xxx'
query:{
id:id
}
})
總結:少量參數可以用此方法,如果有大量公共數據,可以采用vuex或本地存儲的方式。