23-props详解

一. 什么是prop

Prop定义: 组件上注册的一些 自定义属性

Prop作用: 想子组件传递数据

特点:

        1. 可以传递 任意数量 的Prop

        2. 可以传递 任意类型 的Prop

23-props详解_第1张图片

 二. Props校验

思考: 组件的prop 可以乱传吗?

作用: 为组件的 prop 指定验证要求,不符合要求,控制台就会有提示错误 -> 帮助开发和快速发现错误

语法:

        (1) 类型校验

props: {
    校验的属性名: 类型 // Number String Boolean...
}

        (2) 非空校验

        (3) 默认值

        (4) 自定义校验 

props:{
    校验的属性名: {
        type: 类型, // Number string Boolean
        required: true,// 是否必填
        default: 默认值,// 默认值
        validator (value) {
            // 自定义校验逻辑
            return 是否通过校验
        }
    }
},

23-props详解_第2张图片 

 三. prop & data 单项数据流

共同点:都可以给组件提供数据。

区别:
        data 的数据是自己的 -> 随便改
        prop的数据是外部的 -> 不能直接改, 要遵循 单向数据流

单向数据流: 父级 prop 的数据更新,会向下流动,影响子组件。这个数据流动是单向的。

23-props详解_第3张图片

 23-props详解_第4张图片

 

你可能感兴趣的:(Vue3学习笔记,vue.js)