组件参数校验和非props特性

组件参数校验

如果父组件定义content=""属性,引号表示的是一个字符串,只有:content=""的形式,引号里才表示一个js表达式。

参数校验:

属性名:{

  type:[数据类型1,数据类型2]或单独的数据类型

  required:Boolean,//是否必传

 default:'default value',//默认值

 validator: function(value){//自定义校验

     return (条件)

    }

}

<body>
 <div id="root">
   <!-- <child content="hello world"></child> -->
    <child content="hello world"></child>
 </div>
 <script>
  Vue.component('child',{
    props:{
      // content:[Number,String],content可以传数组或对象
      content:{
        type:String,
        required:false,
        default:'default value',
        validator:function(value){
          return(value.length>5)
        }
      }
    },
    template:'<div>{{content}}</div>'
  })
  var vm=new Vue({
    el:'#root'
  })
 </script>
</body>

props特性

父传子接(有用props接受),属性不显示在dom标签里

非props特性

父传子不接(没有用props接受),子组件中无法使用该值,属性显示在dom标签里。

原文地址:https://www.cnblogs.com/tengteng0520/p/12068606.html