1、常规父子组件通信
props 父 ——> 子
父通过自定义属性传递,子通过props接收
$emit 子 ——> 父
子通过this.$emit([event], value)传递, 子通过 @[event]='handleGetVal(value)' 接收
2、父子组件通过实例通信
子组件拿到父$parent实例进而获取其data 父 ——> 子
父组件拿到子$children实例进而获取其data 子 ——> 父
3、provide & inject 祖先 ——> 后代
祖先:
provide(){
return {
count: this.count
}
}
后代接收:
inject: [count]
4、$attrs 祖先 ——>后代
5、中央事件总线$emit & $on 任意组件
新建: Vue.prototype.$bus = new Vue()
发送方:this.$bus.$emit([event], value)
接收方:this.$bus.$on([event], val => {this.value = val})
6、vuex 数据共享 任意组件