如何通过路由传值,params和query又有什么区别?

正文

vue跨路由传值有两种方式:params和query

第一种,name params

传值页js代码

 //把项目id存进路由
      vm.$router.push({
        name: "MyJionDetail",
        params: {
          id: vm.proid,//冒号前面的变量可以自己定义
          twoproname: vm.twoproname,
          proname: vm.twoValue
        }
      });

接收传值页js代码

      vm.proid = vm.$route.params.id;
      vm.twoproname = vm.$route.params.twoproname;
      vm.proname = vm.$route.params.proname;

第二种,path,query

传值页js代码

 //把项目id存进路由
      vm.$router.push({
        path: "MyJionDetail",
        query: {
          id: vm.proid,//冒号前面的变量可以自己定义
          twoproname: vm.twoproname,
          proname: vm.twoValue
        }
      });

接收传值页js代码

      vm.proid = vm.$route.query.id;
      vm.twoproname = vm.$route.query.twoproname;
      vm.proname = vm.$route.query.proname;

两者的区别

1.params类似于post,query更加类似于我们ajax中get传参,params在地址栏不显示参数。
2.params传值一刷新就没了,query传值刷新还存在。
3.query只能对应path,params只能对应name,否则传值就会失败

Logo

前往低代码交流专区

更多推荐