vue-props验证 发表于 2017-12-17 | 分类于 Vue | | 阅读次数 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879<!DOCTYPE html><html lang="zh-cn"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> <style> </style> <script src="./vue.js"></script> </head> <body> <div id="app"> <h3>父组件中使用了count</h3> <p>{{count}}</p> <custom-component :count="count" @increment-click="countHandle"></custom-component> </div> <script> //自定义事件 //全局组件 //count传入的类型为Number Vue.component('custom-component',{ props:{ count:{ //type:Number, //type:[Number,String], //default:10 //required:true validator:function (value){ console.log(value); return value > 10 } } }, data(){ return { incrementCount:this.count //作为局部这个组件的data的初始值 } }, computed:{ incrementCount2(){ return this.incrementCount } }, template:` <div> <h2>我是一个自定义的组件</h2> <input type="button" value="改变count的值" @click="changeCount" /> {{incrementCount2}} </div> `, methods:{ changeCount(){ this.incrementCount++; //通知父组件 发生了改变 this.$emit("increment-click") } } }) new Vue({ el:"#app", data:{ count:20 }, methods:{ countHandle(){ //alert("子组件点击了"); this.count++; } } }) </script> </body></html>