vue-router的query和params的区别
vue-router的query和params的区别
首先简单来说明一下$router和$route的区别
- $router为VueRouter实例,想要导航到不同url,则使用$router.push方法
 - $route为当前router跳转对象,里面可以获取name、path、query、params等
 
params方式传参和接收参数
this.$router.push({
    name:'xxx'
    params:{
      id:id
    }
  })
  
接收参数:
this.$route.params.idquery方式传参和接收参数
不过query使用name来引入也可以传参,使用path也可以
this.$router.push({
    path:'/xxx'
    query:{
      id:id
    }
  })
接收参数:
this.$route.query.idparams方式和query方式的区别
- query方式生成的url为/xx?id=id,params方式生成的url为xx/id
 - params方式需要注意的是需要定义路由信息如:path: '/xx/:id',这样才能进行携带参数跳转,否则url不会进行变化,并且再次刷新页面后参数会读取不到
 
选择哪个更好
看场景需求,一般我开发喜欢使用params方式方式,因为path定义,会存在嵌套路由比较复杂且不好维护,而name比较简洁而且更好维护。
相关推荐
  前端小白    2020-07-19  
   85423468    2020-07-19  
   bowean    2020-07-05  
   82344699    2020-07-05  
   85423468    2020-06-26  
   ggkuroky    2020-06-17  
   89711338    2020-06-14  
   80437700    2020-06-02  
   85394591    2020-05-31  
   80437700    2020-05-15  
   85394591    2020-05-15  
   80324291    2020-05-11  
   80437700    2020-05-11  
   85394591    2020-05-10  
   85423468    2020-05-05  
   87133050    2020-04-30  
   85497718    2020-04-29