第一种:props
适用于的场景:父子组件通信
注意事项
如果父组件给子组件传递数据(函数):本质其实是子组件在这里插入代码片给父组件传递数据
如果父组件给子组件传递的数据(非函数):本质就是父组件给子组件传递数据
props书写方式:3种
第1种(简单声明接收)
props:['name','age','sex']
第2种:(接收的同时对数据进行类型的限制)
props:{
name:String,
age:Number,
sex:String
}
第3种:
props:{
name:{
type:String,//name的类型是字符串
required:true//name是必要的
},
age:{
type:Number,
default:99//默认值
},
sex:{
type:String,
required:true
}
}
第二种:自定义事件
适用于场景:子组件给父组件传递数据
$on与$emit
第三种:全局事件总线$bus
适用于场景:万能
vue.prototype.$bus = this;
第四种:pubsub-js,在React框架中使用比较多。(发布与订阅)适用于场景:万能)
第五种:Vuex
适用于场景:万能
第六种:插槽
适用于场景:父子组件通信(一般通信结构)
默认插槽
具名插槽
作用域插槽