vue是组件化的框架,也就是说有一个根组件,然后由根组件可以衍生出很多子组件,共同组成一个页面。此时就涉及到了组件间的通信,主要是数据的通信及方法的传递。
组件间通信有以下6种方式:
1.props/$emit;
最常用的组件通信方式,用于父子组件
2.$parent、$root/$children、ref;
用于父子组件
3.$attrs/$listeners;
用于跨级的组件,隔代组件,如父组件和孙组件
4.provide/inject;
用于跨级的组件,如父组件和他下面的所有子组件
5.$emit/$on;
中央事件总线,可用于无关系的组件
6.vuex
vue存储数据的仓库,用于任何时候,所有组件均可访问。
组件通信可分为父子组件,父子的跨级组件,其他组件。