VUE prop的使用心得

可以为组件的 props 指定验证规格。

使用对象的方式设置验证方法

Vue.component('example', {
  props: {
    // 基础类型检测 (`null` 意思是任何类型都可以)
    propA: Number,
    // 多种类型
    propB: [String, Number],
    // 必传且是字符串
    propC: {
      type: String,
      required: true
    },
    // 数字,有默认值
    propD: {
      type: Number,
      default: 100
    },
    // 数组/对象的默认值应当由一个工厂函数返回
    propE: {
      type: Object,
      default: function () {
        return { message: 'hello' }
      }
    },
    // 自定义验证函数
    propF: {
      validator: function (value) {
        return value > 10  //当返回为false,则显示警告。
      }
    }
  }
})

传递 Number 类型数据时,应该使用动态prop

var parentNode = {
  template: `
  <div class="parent">
    <!-- <my-child my-message="1"></my-child> //数据1,会被当做字符串 -->
    <my-child my-message="message"></my-child> 
  </div>`,
  components: {
    'myChild': childNode
  }
};

单向数据(在子组件更能 prop 的值,会显示警告)

在这里插入图片描述

此时可以设置副本来保存变量的初始值,然后监听变量来同步副本。

props:['childMsg'],
data(){
  return{
    temp:this.childMsg
  }
},
watch:{
  childMsg(){
    this.temp = this.childMsg
  }
}

详情
官方文档

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值