当前位置:网站首页>非父子组件的通信
非父子组件的通信
2022-07-07 03:12:00 【要成为光的女人】
这里我们主要讲两种方式:
- Provide/Inject
- Mitt全局事件总线;
一、Provide和Inject(子孙级)
Provide/Inject 用于非父子组件之间共享数据:
- 比如有一些深度嵌套的组件,子组件想要获取父组件的部分内容;
- 在这种情况下,如果我们仍然将props沿着组件链逐渐传递下去,就会非常的麻烦;
对于这种情况下,我们可以使用Provide和Inject:
- 无论层级结构有多深,父组件都可以作为其所有子组件的依赖提供者;
- 父组件有一个provide 选项来提供数据
- 子组件有一个inject 选项来开始使用这些数据
Provide和Inject 的使用
在真实开发里面provide里面的数据不是写死的,可能来自于服务器,这时候要想拿到data里面的数据,vue建议最好将proviede写成一个函数。
处理响应式数据:
注意:上一案例中我们的数据一次性,当我们数据发生变化的时候,Provide里面的数据是无任何响应变化的,(computed箭头函数是不绑定this的,也就是说我们现在给length赋值的时候,是赋的computed函数的返回值,因为computed里面的this是对data里面的值是有依赖的,一旦依赖发生改变,computed的值就会重新计算,会有一个新的值,就会给length赋值新的值。)
使用:
二、全局事件总线mitt库
1.先安装
npm install mitt -D
2.其次,我们可以封装一个工具eventbus.js:
3.使用
监听事件:在生命周期里监听,也是拿到emitter对象
Mitt事件取消
//取消emitter中所有的监听
emitter.all.clear()
//定义一个函数
function onFoo(){}
emitter.on('foo',onFoo) //监听
emitter.off('foo',onFoo) //取消监听
边栏推荐
- 【mysqld】Can't create/write to file
- Please tell me how to monitor multiple schemas and tables by listening to PgSQL
- Comment les entreprises gèrent - elles les données? Partager les leçons tirées des quatre aspects de la gouvernance des données
- Matlab tips (29) polynomial fitting plotfit
- MySQL user permissions
- 剑指offer-高质量的代码
- AVL树的实现
- From zero to one, I will teach you to build the "clip search by text" search service (2): 5 minutes to realize the prototype
- 使用net core优势/为什么使用
- MySQL binlog related commands
猜你喜欢
华为机试题素数伴侣
使用TCP/IP四层模型进行网络传输的基本流程
From zero to one, I will teach you to build the "clip search by text" search service (2): 5 minutes to realize the prototype
SolidWorks的GB库(钢型材库,包括铝型材、铝管等结构)安装及使用教程(生成铝型材为例)
.net 5 FluentFTP连接FTP失败问题:This operation is only allowed using a successfully authenticated context
基于JS的迷宫小游戏
Complete process of MySQL SQL
Mysql---- import and export & View & Index & execution plan
MOS tube parameters μ A method of Cox
2018年江苏省职业院校技能大赛高职组“信息安全管理与评估”赛项任务书第二阶段答案
随机推荐
请教一下,监听pgsql ,怎样可以监听多个schema和table
企業如何進行數據治理?分享數據治理4個方面的經驗總結
Problems and precautions about using data pumps (expdp, impdp) to export and import large capacity tables in Oracle migration
Get the city according to IP
2018 Jiangsu Vocational College skills competition vocational group "information security management and evaluation" competition assignment
Lvs+kept (DR mode) learning notes
根据IP获取地市
Please tell me how to monitor multiple schemas and tables by listening to PgSQL
How to share the same storage among multiple kubernetes clusters
Matlab tips (30) nonlinear fitting lsqcurefit
请教一个问题,flink oracle cdc,读取一个没有更新操作的表,隔十几秒就重复读取全量数据
什么情况下考虑分库分表
Config分布式配置中心
途家、木鸟、美团……民宿暑期战事将起
Algorithm --- bit count (kotlin)
使用TCP/IP四层模型进行网络传输的基本流程
Use of completable future
Unable to debug screen program with serial port
Networkx绘图和常用库函数坐标绘图
一文带你了解静态路由的特点、目的及配置基本功能示例