Prop


1.props中的驼峰命名命名在使用时需要换成对应的kebab-case (短横线分隔命名) 命名:
Vue.component('my-com',{
 props:['myBla'],
 template: '<h3>{{ postTitle }}</h3>'
})
 
<my-com my-bla="woqu"></my-com>
 
2.可以给props中的名称对应的值指定类型,我们以对象的形式输出props
props: {
  title: String,
  likes: Number,
  isPublished: Boolean,
  commentIds: Array,
  author: Object,
  callback: Function,
  contactsPromise: Promise // or any other constructor
}
 
 
3.peops可以通过v-bind动态赋值:
<my-com v-bind:my-bla="arr.name"></my-com>
 
4.单向数据流
父级prop可以影响子组件,子组件不能影响父组件,这样可以防止子组件意外的改变父组件,
所以,我们不应该在子组件中去改变prop值,应该在父组件中去更新它。

5.Prop验证
propA:{
 type:String,        //数据类型
 required: true,   //必填字段
  default: 100,     //默认值
 // 对象或数组默认值必须从一个工厂函数获取
       default: function () {
          return { message: 'hello' }
       },
  validator: function (value) {
         // 这个值必须匹配下列字符串中的一个
         return ['success', 'warning', 'danger'].indexOf(value) !== -1
       }
}
posted @ 2019-11-17 22:03  淡薄幽清  阅读(59)  评论(0)    收藏  举报