18、组件信息通讯祖先后代——provide和inject
2022-04-01 12:42:43 0 举报
AI智能生成
vue
作者其他创作
大纲/内容
定义
让所有需要通信的组件共同举杯一个祖先元素,这样就可以基于 provide 和 inject 实现祖先和后代之间的通信
执行上下文方案
原理
1、把需要通信的“公共信息”,放在祖先元素上管控,以及需要修改这些“公共信息”的方法也在祖先元素上
2、后代元素想要使用,直接基于 inject 注册使用即可
操作步骤
1、祖先组件基于 provide 注册需要供后代组件使用的数据和方法
2、后代组件基于 inject 声明需要使用的数据并调取使用
对应代码
1、provide 注册数据
provide中的信息没有放在vm实例上,不是响应式数据;数据存在在this._provided属性中;
2、inject 声明调取
注意
我们会创建响应式状态信息先存储公共信息,让PROVIDE中存储的是状态信息:以后只要我们把状态信息修改了,存储在祖先PROVIDE中的信息也会跟着修改;
需要保证PROVIDE中存储的数据是可被监控的,所以DATA中存储的数据需要以对象的方式存储,这样才能保证对象中的每个数据也是被监控的
0 条评论
下一页