Vue05/Vue组件子传父、props校验、Vue父子组件传值总结

一.Vue组件子传父

1.子组件通过 触发事件的同时 向父组件传参

this.$emit(' 组件标签内自定义属性名 ',参数1, 参数2 )

2. 父组件给子组件 在组件标签名内注册一个自定义属性名

注意: 父组件中的事件名要与子组件$emit内属性名一致

<子组件  @$emit内属性名="methods内函数名"> </子组件>

3.接收子组件传递参数

methods: {
  自定义函数名(自定义参数名) {
    console.log(参数名)
  }
},

二. Vue父子组件传值总结

1.父组件传子组件 : 使用props

  • 单向数据流

2.子组件传父组件: 使用$emit

  • 事件监听

三.Props 校验

语法:

export default {
  // props 类型校验
  props: {
    // 要接受的数据: 配置对象
    父组件传递子组件属性名: {
      // 必选项, 必须传过来
      required: true,
      // 类型, 首字母大写
      type: String
    },
    父组件传递子组件属性名: {
      // 必选项, 必须传过来
      required: true,
      // 类型, 首字母大写
      type: Number
    },
    父组件传递子组件属性名: {
      // 必选项, 必须传过来
      // required: true,
      // 类型, 首字母大写
      type: String,
      // 设置默认值, 一般情况下和 required 不会一起设置
      default: '非常好吃!我是默认值'
    }
  },
  data() {
    return {
      
    };
  },
}

说明:

1.props是父传子 ,传递给子组件的数据 为了提高 子组件被使用时 的稳定性 可以进行props校验 ,验证传递的数据是否符合要求

2.如果验证有一个需求没有被满足 则Vue会在浏览器控制台中报错警告你 

注意:

1.默认的 props:['','',''] 不会进行校验 如果希望校验 需要提供对象形式 props

2. 一定要和 data同级

效验方案:

required: 布尔值 必选项: 为true必须传 ,false则不

type: 数据类型    注意:首字母大写

default: ' 默认值'  

注意: default 和 required 不要一起设置

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值