相信大家都了解过:
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的参数是拼接起来的,没有也不影响
本文探讨了Vue中两种导航方式——声明式和编程式导航的参数传递方式,重点在于params和query的区别。params传参仅能与name配合使用,避免路径冲突导致的错误,参数不会显示在URL;而query传参可以与path一起使用,参数会显示在URL中。在接收参数时,params存在于`this.$route.params`,query则在`this.$route.query`。此外,query参数对安全性较低,params更安全。在路由配置中,params参数是URL的一部分,query则是附加的。
313

被折叠的 条评论
为什么被折叠?



