vue中组件之间的通信方式?

2021-09-21 11:42:34 面试题 小于 1 分钟

常见组件通信可以分为三类:

  • 父子组件通信
  • 兄弟组件通信
  • 跨层组件通信

常见的通信方式有以下几种:

  • props :父组件通过props向下传递数据给子组件。
  • $emit/$on :子组件通过events给父组件发送消息,实际上就是子组件把自己的数据发送到父组件。
  • vuex:全局状态管理,数据可以全局使用。
  • $parent/$children:这两种都是直接得到组件实例,使用后可以直接调用组件的方法或访问数据。
  • provide/inject :主要解决了跨级组件间的通信问题,不过它的使用场景,主要是子组件获取上级组件的状态,跨级组件间建立了一种主动提供与依赖注入的关系。
  • $attrs/$listeners :$attrs与$listeners 是两个对象, $attrs 里存放的是父组件中绑定的非 Props 属性,$listeners 里存放的是父组件中绑定的非原生事件。
上次编辑于: 2023年7月4日 09:36