相信大家都了解过:
vue中的两种导航方式:声明式导航和编程式导航。
这两种导航在跳转路由时需要参数。
今天我们了解一下:
params传参与query传参的区别?
1.使用query传参的时候,name,path都可以引入,但是在使用params传参的时候只能使用name进行引入。
原因:路由跳转传参时,path写法不能与params参数同时使用,因为如果同时使用控制台会报
NavigationDuplicated: Avoided redundant navigation to current location
的错误 所以使用params传参只能使用name写法。
2.接收参数的时候,query传参使用路由信息对象中‘’的query对象接收,params传参使用路由信息对象中params对象接收,
比如:this.$ route.params.name/this.$route.query.name
3.在地址栏中,query传参显示参数和值,params只显示值
query传递显示参数(url那里),params传递不显示参数,参数在请求体内,params相对于query来说较安全一点
4.如果index.js配置路由时,params的参数时URL不可或缺的一部分,但是query的参数是拼接起来的,没有也不影响