query语法:
this.$router.push({path:"地址",query:{id:"123"}}); 这是传递参数this.$route.query.id; 这是接受参数
params语法:
-
this.$router.push({name:"地址",params:{id:"123"}}); 这是传递参数 -
this.$route.params.id; 这是接受参数 -
首先就是写法得不同,query得写法是用 path 来编写传参地址,而params得写法是用 name 来编写传参地址
-
接收方法不同, 一个用query来接收, 一个用params接收 ,总结就是谁发得 谁去接收
-
query 在刷新页面得时候参数不会消失,而 params 刷新页面得时候会参数消失,可以考虑本地存储解决
-
query 传得参数都是显示在url 地址栏当中,而params传参不会显示在地址栏
-
这里说一下route是路由对象信息 而router是路由对象的 实例
$route 和 $router的区别: $route可以获取路由的属性 比如query传参 动态路由 $router提供了一些方法 push跳转页面 addRoute增加路由 包括一些路由信息比如: 当前所在的路由this.$router.currentRoute;//currentRoute表示当前路由