VueRouter的query和params动态路由传参

292 阅读1分钟

 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表示当前路由