路由的props设置


   不管是vue2还是vue3,路由的props传参有三种方式:
   
 1.props设置为true
{
        name:'About',
        path:'/about/:a/:b/:c',
        component:()=>import('@/pages/about/index.vue'),
        meta:{
            title:'about'
        },
        props:true
    },
    
    <RouterLink  to="/about/呵呵/哈哈/嘎嘎"  active-class="active">
            <el-button type="primary">about</el-button>
            <!-- :to="{name:'About',params:{a:'哈哈',b:'呵呵',c:'嘎嘎'}}" -->
        </RouterLink>
        /*或者*/
        <RouterLink  :to="{name:'About',params:{a:'哈哈',b:'呵呵',c:'嘎嘎'}}"  active-class="active">
            <el-button type="primary">about</el-button>
        </RouterLink>
这种方式只能实现params传参

## 2.通过函数的方式返回一个对象
## 
```js
    {
        name:'About',
        path:'/about',
        component:()=>import('@/pages/about/index.vue'),
        meta:{
            title:'about'
        },
        // props:true
        props:(route)=>{
            return route.params
        }
    },
```
不仅可以实现params传参,还可以实现query传参
```js
    {
        name:'About',
        path:'/about',
        component:()=>import('@/pages/about/index.vue'),
        meta:{
            title:'about'
        },
        // props:true
        props:(route)=>{
            return route.query
        }
    },
```

## 3.传递对象
一般这种方式很少用,因为这种方式传递参数在路由写死,在实际开发中意义不大,不过也给大家介绍一下
```js
    {
        name:'About',
        path:'/about',
        component:()=>import('@/pages/about/index.vue'),
        meta:{
            title:'about'
        },
        // props:true
        props:{
        a:"哈哈",
        b:"嘎嘎",
        c:"呵呵"
        }
    },
```

一般路由传参我们使用params、query传参,vue2中通过this.$route.params或者this.$route.query获取参数,在vue3中我们可以

```js
import {useRoute} from 'vue-router'
let route = useRoute()
route.params
route.query
```
这种方式使用起来也可以,但是通过路由的props配置,可以直接实现props传参,接收参数使用起来更方便

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值