Vue中路由的props配置

举报
一向很安静 发表于 2022/02/21 14:33:08 2022/02/21
【摘要】 在本篇我会给大家介绍一下关于vue中路由的props配置,在之前我们也了解过组件的props配置的写法就是用来接收外部存进来的东西例如`<student name="???" age="????"/>`这样类型的组件传递数据方式,现在我则是要说关于路由中的props下面我们拭目以待。![image.png](https://p3-juejin.byteimg.com/tos-cn-i-k3u...

在本篇我会给大家介绍一下关于vue中路由的props配置,在之前我们也了解过组件的props配置的写法就是用来接收外部存进来的东西例如`<student name="???" age="????"/>`这样类型的组件传递数据
方式,现在我则是要说关于路由中的props下面我们拭目以待。

![image.png](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/bedd074e529c49d1b5a3ae10ba891d26~tplv-k3u1fbpfcp-watermark.image?)

在props中有三种写法分别是    第一种写法:props值为对象,该对象中所有的key-value的组合最终都会通过props传给Detail组件使用`props:{a:900}`;第二种写法:props值为布尔值,布尔值为true,则把路由收到的所有params参数通过props传给Detail组件 `props:true` ;第三种写法:props值为函数,该函数返回的对象中每一组key-value都会通过props传给Detail组件


```js
// 该文件专门用于创建整个应用的路由器
import VueRouter from 'vue-router'
//引入组件
import About from '../pages/About'
import Home from '../pages/Home'
import News from '../pages/News'
import Message from '../pages/Message'
import Detail from '../pages/Detail'

//创建并暴露一个路由器
export default new VueRouter({
    routes:[
        {
            name:'guanyu',
            path:'/about',
            component:About
        },
        {
            path:'/home',
            component:Home,
            children:[
                {
                    path:'news',
                    component:News,
                },
                {
                    path:'message',
                    component:Message,
                    children:[
                        {
                            name:'xiangqing',
                            path:'detail',
                            component:Detail,

                            //props的第一种写法,值为对象,该对象中的所有key-value都会以props的形式传给Detail组件。
                            // props:{a:1,b:'hello'}

                            //props的第二种写法,值为布尔值,若布尔值为真,就会把该路由组件收到的所有params参数,以props的形式传给Detail组件。
                            // props:true

                            //props的第三种写法,值为函数
                            props($route){
                                return {
                                    id:$route.query.id,
                                    title:$route.query.title,
                                    a:1,
                                    b:'hello'
                                }
                            }

                        }
                    ]
                }
            ]
        }
    ]
})

```

### 总结路由的props配置

​    作用:让路由组件更方便的收到参数

```js
{
    name:'xiangqing',
    path:'detail/:id',
    component:Detail,

    //第一种写法:props值为对象,该对象中所有的key-value的组合最终都会通过props传给Detail组件
    // props:{a:900}

    //第二种写法:props值为布尔值,布尔值为true,则把路由收到的所有params参数通过props传给Detail组件
    // props:true
    
    //第三种写法:props值为函数,该函数返回的对象中每一组key-value都会通过props传给Detail组件
    props(route){
        return {
            id:route.query.id,
            title:route.query.title
        }
    }
}
```

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。