router 和 route 的区别:
router是VueRouter的实例,是一个全局的路由对象,它包含了所有的路由和许多关键的对象和属性。
route是当前正在跳转的路由对象,是一个局部路由对象。里面包含当前路由的信息,比如:name,path,params,query等
router:
路由跳转 + 传参:
this.$router.push({ name: 'user', params: { userId: '123' }}) (刷新之后,数据不消失)
this.$router.push({ path: 'register', query: { plan: 'private' }}) (刷新之后,数据消失)
params 和 query区别:
params用的是name,传递的参数在地址栏不会显示,类似于post
query用的是path,传递的参数会在地址栏显示出来,类似于get
route
拿地址栏数据
this.$route.query
this.$route.params
补充用route拿地址栏地址:this.$route.path
区别:axios传参发请求
get/delete请求 params传参(拼接到地址栏)
post/put请求 data传参(请求体)
区别:动态路由
/xxx/:id
获取 $router.params.id