也算是经典面试题的一部分了,对于父子间的通讯很多时候的使用我都是限于 props
/$emit
来处理,或者 Vuex
/EventBus
这种方式,很少会用到 Provide
/Inject
来处理。其实这是一个很实用的跨级组件间通讯的方式。
这对选项需要一起使用,以允许一个祖先组件向其所有子孙后代注入一个依赖,不论组件层次有多深,并在其上下游关系成立的时间里始终生效。
看文档中关于这对API的解释就可以看到,向其所有后代 注入一个依赖,所以在跨级组件间通讯,或者 单父多子组件间通讯就会很方便了。
简单的使用可以查看官方文档中的示例,我就不举例了,因为使用起来真的很简单。
最直白的(但是错误的)可以理解为 props
的强化版本,暴露一个可以无视子组件的嵌套层级属性来进行注入。