(1)**props / $emit** 适用 父子组件通信

这种方法是 Vue 组件的基础,相信大部分同学耳闻能详,所以此处就不举例展开介绍。

(2)**ref**  **$parent / $children** 适用 父子组件通信

· ref:如果在普通的 DOM 元素上使用,引用指向的就是 DOM 元素;如果用在子组件上,引用就指向组件实例

· $parent / $children:访问父 / 子实例

(3)**EventBus** ``**(**``**$emit / $on**``**)** 适用于 父子、隔代、兄弟组件通信

这种方法通过一个空的 Vue 实例作为中央事件总线(事件中心),用它来触发事件和监听事件,从而实现任何组件间的通信,包括父子、隔代、兄弟组件

(4)**$attrs**/**$listeners** 适用于 隔代组件通信

· $attrs:包含了父作用域中不被 prop 所识别 (且获取) 的特性绑定 ( class 和 style 除外 )。当一个组件没有声明任何 prop 时,这里会包含所有父作用域的绑定 ( class 和 style 除外 ),并且可以通过 v-bind="$attrs" 传入内部组件。通常配合 inheritAttrs 选项一起使用。

· $listeners:包含了父作用域中的 (不含 .native 修饰器的) v-on 事件监听器。它可以通过 v-on="$listeners" 传入内部组件

(5)**provide / inject** 适用于 隔代组件通信

祖先组件中通过 provider 来提供变量,然后在子孙组件中通过 inject 来注入变量。 provide / inject API 主要解决了跨级组件间的通信问题,不过它的使用场景,主要是子组件获取上级组件的状态,跨级组件间建立了一种主动提供与依赖注入的关系。

(6)Vuex 适用于 父子、隔代、兄弟组件通信

Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。每一个 Vuex 应用的核心就是 store(仓库)。“store” 基本上就是一个容器,它包含着你的应用中大部分的状态 ( state )。

· Vuex 的状态存储是响应式的。当 Vue 组件从 store 中读取状态的时候,若 store 中的状态发生变化,那么相应的组件也会相应地得到高效更新。

· 改变 store 中的状态的唯一途径就是显式地提交 (commit) mutation。这样使得我们可以方便地跟踪每一个状态的变化。

Vue 组件间通信有哪几种方式?相关推荐

  1. 每日一道面试题:Vue 组件间通信有哪几种方式?

    Vue 组件间通信有哪几种方式? 父子组件通信.隔代组件通信.兄弟组件通信 (1)props / $emit适用 父子组件通信 - 这种方法是 Vue 组件的基础,相信大部分同学耳闻能详,所以此处就不 ...

  2. Vue 组件间通信有哪几种方式

    Vue 组件间通信主要指以下 3 类通信:父子组件通信.隔代组件通信.兄弟组件通信 1.props / $emit 适用 父子组件通信 props是父组件将值传给子组件,$emit是子组件通过派发事件 ...

  3. vue组件间通信传递数据的四种方式(路由传参、父子组件传参、兄弟组件传参、深层次传参)

    前言: vue组件间通信对于经常来写vue的伙伴来说应该是很轻松的,对于一些刚入门的伙伴来说可能就有些迷茫,感觉方式有很多种,但是总结起来又不知道应该怎么说,在下面的文章中,我结合自己的开发过程中经常 ...

  4. Vue 组件间通信几种方式(完整版)

    组件是 vue.js最强大的功能之一,而组件实例的作用域是相互独立的,这就意味着不同组件之间的数据无法相互引用.一般来说,组件可以有以下几种关系: 如上图所示,A 和 B.B 和 C.B 和 D 都是 ...

  5. vue组件间通信六种方式

    vue组件间通信六种方式 组件之间的传值通信 组件之间的通讯分为三种:父传子.子传父.兄弟之间的通讯: props/$emit 父传子:主要是通过props来实现的 具体实现:父组件通过import引 ...

  6. vue组件间通信六种方式(完整版)

    前言   组件是 vue.js 最强大的功能之一,而组件实例的作用域是相互独立的,这就意味着不同组件之间的数据无法相互引用.一般来说,组件可以有以下几种关系:                如上图所示 ...

  7. Vue 组件间通信方法汇总

    Vue 组件间通信方法汇总 ⭐️ 更多前端技术和知识点,搜索订阅号 JS 菌 订阅 除了使用 Vuex 方法外,vue 提供了各种各样的组件间通信的方案.文章整理一下父子组件.兄弟组件.祖先后代组件间 ...

  8. Vue.js解析(十)【Vue组件间通信】

    什么是Vue组件? 组件 (Component) 是 Vue.js 最强大的功能之一.组件可以扩展 HTML 元素,封装可重用的代码.在较高层面上,组件是自定义元素,Vue.js 的编译器为它添加特殊 ...

  9. vue组件间通信之兄弟组件通信(vue3.0$EventBus)

    vue组件间通信之兄弟组件通信(vue3.0$EventBus) vue组件中的数据传递最最常见的就是父子组件之间的传递.父传子通过props向下传递数据给子组件:子传父通过$emit发送事件,并携带 ...

最新文章

  1. Loadrunner手动关联详解
  2. 不能上传图片和编辑内容很慢,望改进
  3. 10个优秀的 Web UI库/框架 详细出处参考:http://www.jb51.net/web/22251.html
  4. asp导出EXCEL数字格式及自动适应宽度的问题
  5. 试用c51语言采样连续5次异常_学会这些自闭症儿童语言训练技巧,孩子开口说话不再困难...
  6. Mac下Android相关配置
  7. 自编Python机器人,内置词库可改写。
  8. 完美数Python解法
  9. win7下安装python库的若干问题
  10. 新站如何解决收录问题
  11. 网站关键词密度定义,关键词密度对网站优化有什么关系!
  12. 01-选择属于自己的相机
  13. android平板电脑怎么才能连接,安卓平板电脑如何连接网线?
  14. 授权服务器文件包,单包授权认证(SPA)fwknop之安装和演示
  15. python代码做图_如何用Python代码制作图
  16. HTML背景墙上加图标,背景墙挂件—背景墙上放一些什么挂件好
  17. 那些让人“上瘾”的产品,是如何铺设流量陷阱的?
  18. android 调出键盘表情_android高仿微信表情输入与键盘输入代码(详细实现分析)
  19. its config
  20. ECNU_OJ_1026

热门文章

  1. 常见的性能测试与应用领域
  2. 陆奇再谈AI:“对不起,我跟大家的看法,有些不一样...”
  3. HTML做一个抗疫逆行者感动人物页面(纯html代码)
  4. -fPIC, -fpic, -fpie, -fPIE
  5. 小记 pip.exe闪退后安装 pyperclip模块
  6. PMP考试经历,实战经验,希望对后来者有用
  7. 如何投资建设智慧养殖场
  8. iOS:instancetype 对比 id 的好处
  9. 武松却筛一杯酒递与 钱龙软件
  10. Windows 配置收集 - Some Configuration In Windows - By黑月君(待续)