<div id="app"> <my-child :num="100" :msg="'sdf'" :object="{a:'a'}" :cust="100" ></child> </div> <script type="text/javascript"> Vue.component('my-child', { props: { // 基础类型检测 (`null` 意思是任何类型均可以) num: Number, // 多种类型 propB: [String, Number], // 必传且是字符串 msg: { type: String, required: true }, // 数字,有默认值 num1: { type: Number, default: 1000 }, // 数组/对象的默认值应当由一个工厂函数返回 object: { type: Object, default: function () { return { message: 'hello' } } }, // 自定义验证函数 cust: { validator: function (value) { return value > 10 } } }, template: `<div> <p>{{ num }}</p> <p>{{ msg }}</p> <p>{{ num1 }}</p> <p>{{ object }}</p> <p>{{ cust }}</p> </div>` }) new Vue({ el: "#app" }); </script>
输出结果
这里都是经过验证了的,可以所有输出来,并且控制台没有报错。
若是有不符合的,控制台会报错。javascript
<div id="app"> <my-child :num="asd" :msg="sdf" :object="{a:'a'}" :cust="100" ></child> </div>
对应的,也没有渲染出来
可是也有一些是报错了可是渲染出来的。好比vue
<div id="app"> <my-child :num="100" :msg="'sdf'" :object="{a:'a'}" :cust="1" ></child> </div>