组件之间的通信
上一节
下一节
组件是是Vue.js中最强大的功能之一。组件实例的作用域是相互独立的,这就意味着不同组件之间的数据是无法共享的。一般组件之间的关系如图所示。
A和B,B和C、B和D都是父子关系,C和D是兄弟关系,A和C、A和D是隔代关系(可能隔多代)。

组件通信时,根据组件之间的关系的不同,有着不同的通信方式。一般通信分为3种情况:父组件向子组件通信、子组件向父组件通信、非父子组件之间的通信。针对不同的场景,需要使用不同的通信方式。
1、父组件向子组件传递数据,需要props属性来实现。
2、子组件向父组件传值,需要用到自定义事件,整个通信的过程为:
2.1、子组件使用this.$emit('事件名','需要传输的数据')来触发事件,父组件使用$on()来监听子组件的事件。

