美文网首页vue
vue中的Prop是什么?怎么使用?

vue中的Prop是什么?怎么使用?

作者: 柚子硕 | 来源:发表于2019-12-19 18:03 被阅读0次
1.基础用法:使用Prop在父组件内向子组件传递参数
  • 可以传输动态值和静态值
//父组件
<son-components message1="静态值" :message2="dynamic"></son-components>
data(){
  return{dynamic:"动态值"}
}

//子组件

<script>
export default {
props:['message1','message2'],
    data(){
        return{}
    },
   created(){
    //直接使用this获取到props内的值 
    console.log(this.message1) // 静态值
    console.log(this.message2) // 动态值
   }
}
</script>
2.单向数据流
  • 父组件刷新会导致props也刷新
  • 不可以直接修改props内的值,vue会警告报错。赋值给data内的参数再做处理
3.Prop验证

如果你开发一个组件被大家使用,那么可以在组件内通过Prop验证来限制参数类型,提高组件的可读性。如果使用者传入的参数并不符合组件要求,Vue会在控制台给与提示。

Vue.component('my-component', {
  props: {
    // 基础的类型检查 (`null` 和 `undefined` 会通过任何类型验证)
    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 ['success', 'warning', 'danger'].indexOf(value) !== -1
      }
    }
  }
})

【有收获请点个赞哦~~】

相关文章

网友评论

    本文标题:vue中的Prop是什么?怎么使用?

    本文链接:https://www.haomeiwen.com/subject/omxmnctx.html