今天做項目時踩到了vue-router傳參的坑(jquery和params),所以決定總結(jié)一下二者的區(qū)別。
1.jquery方式傳參和接收參數(shù)
傳參:
this.$router.push({ path:'/xxx' query:{ id:id } }) 接收參數(shù):
this.$route.query.id
注意:傳參是this.$router,接收參數(shù)是this.$route,這里千萬要看清了!!!
this.$router 和this.$route有何區(qū)別?
在控制臺打印兩者可以很明顯的看出兩者的一些區(qū)別:

1.$router為VueRouter實例,想要導(dǎo)航到不同URL,則使用$router.push方法
2.$route為當前router跳轉(zhuǎn)對象,里面可以獲取name、path、query、params等
2.params方式傳參和接收參數(shù)
傳參:
this.$router.push({ name:'xxx' params:{ id:id } }) 接收參數(shù):
this.$route.params.id
注意:params傳參,push里面只能是 name:'xxxx',不能是path:'/xxx',因為params只能用name來引入路由,如果這里寫成了path,接收參數(shù)頁面會是undefined!!!
另外,二者還有點區(qū)別,直白的來說query相當于get請求,頁面跳轉(zhuǎn)的時候,可以在地址欄看到請求參數(shù),而params相當于post請求,參數(shù)不會再地址欄中顯示。
總結(jié)
以上所述是小編給大家介紹的淺析vue-router jquery和params傳參(接收參數(shù))$router $route的區(qū)別,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對武林網(wǎng)網(wǎng)站的支持!
新聞熱點
疑難解答