前言
在vue2.0里面provide与inject是以选项式(配置)API的方式在组件中进行使用的,解决的是跨组件(祖孙)间通信的一种方式
也就是父子组件间的通信,父组件上通过自定义属性,而子组件间通过...,则会丢失响应式,修改数据时,页面不会更新,具体解决,可以引入toRef或toRefs函数
const {name,website} = toRefs(person);
在孙组件中的模板即可以读取,从父组件传递过来的数据也是支持响应式的...{{person.name}}---{{person.website}}
若使用解构时,则模板中可直接使用变量
{{name}}--{{website}}
注意
如果是解构变量,想要数据响应式,那么需要使用...,接收父组件提供传递过来的值
总结
provide()与inject()的使用比较简单,就是解决跨组件间通信的一种方式,对于层级嵌套比较深的组件,若子孙组件想要使用父组件中的数据
那么就可以使用这种方式进行传递数据的...,这在平时的一些业务开发中,还是有些用的,而在面试当中也是一个高频面试问题,怎么解决跨级组件,非父子组件通信