您好,欢迎来到榕意旅游网。
搜索
您的当前位置:首页VueRouter路由组件传参

VueRouter路由组件传参

来源:榕意旅游网

今天重新过了一遍VueRouter的文档,梳理和总结了一下关于路由组件传参的一些思路,记下来防止以后忘记。

使用route-link传参

  •  使用path路径跳转 传参必须使用query 使用命名视图跳转 params和query都可以 
  • 使用params如果路由路径上没有参数接收 刷新页面数据会丢失,使用query会把参数显示在地址栏路径上,此时刷新数据数据不会丢失

 使用编程式导航传参

  普通传参

var param={name:{name:"111",age:"222",grade:"一年级"},age:12}

this.$router.push({name:"ChildContent",params:param})

this.$router.push({name:"ChildContent",query:param})

this.$router.push({path:"/ChildContent",params:param})

  •  同上 使用path路径跳转 传参必须使用query 使用命名视图跳转 params和query都可以 

动态路由传参

 

route.js
{
      path: '/ChildContent/:id/post/:name',
      component: ChildContent,
      name:"ChildContent",
      props:true  //此时params就是组件的props
}
执行跳转的组件
var param={name:{name:"111",age:"222",grade:"一年级"},age:12}
this.$router.push({path:"ChildContent/123/post/456",query:param}) 
跳转到的组件
 mounted(){
        console.log(this.$route);
        console.log(this.id,this.name);
    },
 props:["name","id","params"]

打印结果

  • 此时刷新params数据不会丢失 因为在路由路径上有对应的数据 比方上面的id和name
  • 在router对象中有props选项 会让传递的params参数当做跳转到页面props中的参数 不需要通过this.$route获取 有解耦的作用 推荐这种

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- nryq.cn 版权所有 赣ICP备2024042798号-6

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务