什么是单向数据流?
数据从父组件传递给子组件,只能单向绑定。在子组件内部不应该修改父组件传递过来的数据。
子组件不能直接修改由父组件传递过来的数据
子组件修改父组件传递过来的数据的两种方式:
1,子组件通过data修改父组件传递过来的数据,把传递过来的数据作为data中局部数据的初始值使用:
2,子组件通过computed计算属性来修改父组件传递过来的数据
如何在子组件改变属性值的时候,父组件也同步修改?
props验证
组件可以为props指定验证要求,如果未通过验证要求,Vue会发出警告
propsA:Number(指定类型)
propsB:[Number, String](多种类型)
propsC:{type: String, required: true}(必传值,且为字符串)
propsD:{type:Number, default: 100} (字符串类型,默认值为100)
propsE:{type: Number, default: function() {return 1000}}
自定义验证规则:
propsF:{validator: function(value){return value>10}}
验证类型为原生构造器:String,Number,Function,Object,Boolean,Array