几种常见的通信方式:
1、prop 属性
父组件通过绑定属性的方式,给子组件传值,同时子组件通过设置 props 来接收
2、$emit
子组件通过调用 this.$emit(‘事件’,‘参数’) 给父组件通信,父组件通过监听 子组件的事件,来获取
3、属性attrs 和 $listeners
4、EventBus (bus 总线)
思路就是声明一个全局Vue实例变量 EventBus , 把所有的通信数据,事件监听都存储到这个变量上。这样就达到在组件间数据共享了,有点类似于 Vuex,但复杂的项目还是用 Vuex
子组件通过 EventBus.$emit() 向外触发事件,父组件通过EventBus.$on() 来监听该事件,变量保存在EventBus
5、Vuex
Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式 6、通过ref 属性
//父组件
//子组件
我是子组件