vue路由传参主要的3种方式

摘要:vue中路由传参主要的3种方式:query方式(push时使用path来匹配)、params模式(push时使用name来匹配)、location预声明参数模式(push使用path来匹配,但是它跟params模式不同)

1、query方式

(push时使用path来匹配)
发起页面:
this.$router.push({
   path: "/accept", //接收页面路由
   query: {
     id: 222
   }
});


路由配置:
routes: [{
   path: "/accept"
}]

接受参数页面:
export default{
  data(){
    return{
      id:this.$router.query.id; //这里接收参数
    }
  }
}


跳转转收页面的时候,地址栏会显示:
http://ip:port/accept?id=222



2、params模式

(push时使用name来匹配)
发起页面:
this.$router.push({
  name: "accept", //路由配置中的name
  params:{
    id:222
  }
});

路由配置:
routes: [{
   name: "accept",
   path: "/accept"
}]


接收参数页面:
export default{
  data(){
    return{
      id:this.$router.params.id; //这里接收
    }
  }
}
跳转转收页面的时候,地址栏显示目的地址,不带任何参数


3、location预声明参数模式

(push使用path来匹配,但是它跟params模式不同)
发起页面:
this.$router.push({
   path: '/accept/222'
});


路由配置:
routes: [{
   path: "/accept/:id"
}]


接收参数页面:
export default{
  data(){
      return{
          id: this.$router.params.id
      }
  }
}

路由跳转时,url会显示:
http://ip:port/accept/222


本文内容仅供个人学习、研究或参考使用,不构成任何形式的决策建议、专业指导或法律依据。未经授权,禁止任何单位或个人以商业售卖、虚假宣传、侵权传播等非学习研究目的使用本文内容。如需分享或转载,请保留原文来源信息,不得篡改、删减内容或侵犯相关权益。感谢您的理解与支持!

链接: https://shenqiku.cn/article/FLY_935