vue this.$route和 this.$router的区别

因为都绑定在this上,我们可以把this 打印出来查看

vue this.$route和 this.$router的区别

this.$route是路由参数对象,所有路由中的参数,params,query 都属于它。

this.$router是一个路由(导航对象),用它实现路由的前进,后退,跳转到新的url地址

路由传参的方式

1.this.$router.push({path:'/city/${cityid}'}),

这样传递参数的话,配置路由时需在path上加参数

vue this.$route和 this.$router的区别

接收参数的方式是 this.$route.params.cityid

2.用params传递

this.$router.push({name:'city',params:{cityid:123}})

3.query 传递

this.$router.push({path:'city',query:{cityid:123})

query要用path来引入,params要用name来引入,接收参数都是类似的,分别是this.$route.query.name和this.$route.params.name。

query和params传参在页面展示上也有所不同

query更类似于我们ajax中的get传参,params则类似于post,即 前者在浏览器地址栏中显示参数,后者则不显示参数