VueJs组件prop验证简单理解

今天看了vuejs的组件,看到了prop组件,主要作用是在传入数据的时候对传入的值做判断,写了个小例子。

<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>

输出结果

这里都是通过验证了的,能够全部输出来,而且控制台没有报错。
如果有不符合的,控制台会报错。

<div id="app">
		<my-child
			:num="asd"
			:msg="sdf"
			:object="{a:'a'}"
			:cust="100"
		></child>
	</div>

对应的,也没有渲染出来

但是也有一些是报错了但是渲染出来的。比如

<div id="app">
		<my-child
			:num="100"
			:msg="'sdf'"
			:object="{a:'a'}"
			:cust="1"
		></child>
	</div>


所以,这个验证功能多的还是用作于开发,或者说写的组件让别的开发者使用是做的认证。(完全初学不太懂,如果有什么写错或者说这个验证还有什么功能,请在评论写下,先谢谢你了)

posted @ 2017-09-12 12:31  CLtomoya  阅读(4431)  评论(0编辑  收藏  举报