路由传参的几中方法

本文详细介绍了Vue.js中四种不同的路由参数传递方式:通过params、name、query以及props。分别展示了各自的配置、传递参数的方法以及如何在组件中接收参数。对于params和query,还分析了它们在页面刷新后的数据丢失情况以及在URL中的显示形式。最后,推荐使用props进行参数传递,因为它结合了params的隐藏性和query的刷新保持性。
摘要由CSDN通过智能技术生成

1.通过params传参,好处是刷新数据不会丢失,会以/url/123的格式拼接显示在url里面

路由配置:

const rouets=[
    {
        path:/home/:id,
        name:'Home,
        component: ()=>import('../views/Home.vue')
    }
]

带参数传递:

this.$router.push('/home/123')

获取对应参数:

this.$route.params.id

2.通过路由的属性中的name来确定匹配的路由,通过params来传递参数,特点:刷新会丢失参数,但不会显示在url里面

路由配置:

const routes=[
    {
        path:'/home',
        name:'Home',
        component:()=>import('../views/Home.vue')
    }
]

带参数传递:

this.$router.push({
    name:'Home',
    params:{
        id:123
    }
})

获取对应参数:

this.$route.params.id

3.通过query来传递参数,特点刷新不会丢失数据,但是参数会以?id=123的形式显示在url里面

路由配置:

const routes=[
    {
        path:'/home',
        name:'Home',
        component:()=>import('../views/Home.vue')
    }
]

带参数传递:

this.$router.push({
    path:'home',
    query:{
        id:123
    }    
})

获取参数:

this.$route.query.id

4.最好的方法是props传参数,用1,2中设置路由配置

路由配置:

{
    path:'/info/:id',
    name:'Info',
    component:()=>import('../views/Info.vue'),
    props:true
  }

带参数传递:

this.$router.push('/info/123')

接收参数:

   export default {
        name:'Info',
        data() {
            return {
            }
        },
        props:['id'],
    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值