Vue 组件间通信有哪几种方式?
(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 组件间通信有哪几种方式?相关推荐
- 每日一道面试题:Vue 组件间通信有哪几种方式?
Vue 组件间通信有哪几种方式? 父子组件通信.隔代组件通信.兄弟组件通信 (1)props / $emit适用 父子组件通信 - 这种方法是 Vue 组件的基础,相信大部分同学耳闻能详,所以此处就不 ...
- Vue 组件间通信有哪几种方式
Vue 组件间通信主要指以下 3 类通信:父子组件通信.隔代组件通信.兄弟组件通信 1.props / $emit 适用 父子组件通信 props是父组件将值传给子组件,$emit是子组件通过派发事件 ...
- vue组件间通信传递数据的四种方式(路由传参、父子组件传参、兄弟组件传参、深层次传参)
前言: vue组件间通信对于经常来写vue的伙伴来说应该是很轻松的,对于一些刚入门的伙伴来说可能就有些迷茫,感觉方式有很多种,但是总结起来又不知道应该怎么说,在下面的文章中,我结合自己的开发过程中经常 ...
- Vue 组件间通信几种方式(完整版)
组件是 vue.js最强大的功能之一,而组件实例的作用域是相互独立的,这就意味着不同组件之间的数据无法相互引用.一般来说,组件可以有以下几种关系: 如上图所示,A 和 B.B 和 C.B 和 D 都是 ...
- vue组件间通信六种方式
vue组件间通信六种方式 组件之间的传值通信 组件之间的通讯分为三种:父传子.子传父.兄弟之间的通讯: props/$emit 父传子:主要是通过props来实现的 具体实现:父组件通过import引 ...
- vue组件间通信六种方式(完整版)
前言 组件是 vue.js 最强大的功能之一,而组件实例的作用域是相互独立的,这就意味着不同组件之间的数据无法相互引用.一般来说,组件可以有以下几种关系: 如上图所示 ...
- Vue 组件间通信方法汇总
Vue 组件间通信方法汇总 ⭐️ 更多前端技术和知识点,搜索订阅号 JS 菌 订阅 除了使用 Vuex 方法外,vue 提供了各种各样的组件间通信的方案.文章整理一下父子组件.兄弟组件.祖先后代组件间 ...
- Vue.js解析(十)【Vue组件间通信】
什么是Vue组件? 组件 (Component) 是 Vue.js 最强大的功能之一.组件可以扩展 HTML 元素,封装可重用的代码.在较高层面上,组件是自定义元素,Vue.js 的编译器为它添加特殊 ...
- vue组件间通信之兄弟组件通信(vue3.0$EventBus)
vue组件间通信之兄弟组件通信(vue3.0$EventBus) vue组件中的数据传递最最常见的就是父子组件之间的传递.父传子通过props向下传递数据给子组件:子传父通过$emit发送事件,并携带 ...
最新文章
- Loadrunner手动关联详解
- 不能上传图片和编辑内容很慢,望改进
- 10个优秀的 Web UI库/框架 详细出处参考:http://www.jb51.net/web/22251.html
- asp导出EXCEL数字格式及自动适应宽度的问题
- 试用c51语言采样连续5次异常_学会这些自闭症儿童语言训练技巧,孩子开口说话不再困难...
- Mac下Android相关配置
- 自编Python机器人,内置词库可改写。
- 完美数Python解法
- win7下安装python库的若干问题
- 新站如何解决收录问题
- 网站关键词密度定义,关键词密度对网站优化有什么关系!
- 01-选择属于自己的相机
- android平板电脑怎么才能连接,安卓平板电脑如何连接网线?
- 授权服务器文件包,单包授权认证(SPA)fwknop之安装和演示
- python代码做图_如何用Python代码制作图
- HTML背景墙上加图标,背景墙挂件—背景墙上放一些什么挂件好
- 那些让人“上瘾”的产品,是如何铺设流量陷阱的?
- android 调出键盘表情_android高仿微信表情输入与键盘输入代码(详细实现分析)
- its config
- ECNU_OJ_1026
热门文章
- 常见的性能测试与应用领域
- 陆奇再谈AI:“对不起,我跟大家的看法,有些不一样...”
- HTML做一个抗疫逆行者感动人物页面(纯html代码)
- -fPIC, -fpic, -fpie, -fPIE
- 小记 pip.exe闪退后安装 pyperclip模块
- PMP考试经历,实战经验,希望对后来者有用
- 如何投资建设智慧养殖场
- iOS:instancetype 对比 id 的好处
- 武松却筛一杯酒递与 钱龙软件
- Windows 配置收集 - Some Configuration In Windows - By黑月君(待续)