Vue学习第四天:12常用高级特性provide和inject

跨组件通信
组件通信

总结:

  1. 开发通用组件频率用的相当高。
  2. F组件若想和I组件进行通信,普通方式下需要通过$emit事件往父组件进行层层传递,A组件再通过属性往子组件进行层层传递,这种方式是很脆弱的,基于此,有了provide和inject。
  3. provide提供数据,inject注入数据。
  4. 通过provide和inject,E组件通过层层冒泡的形式从A组件中取数据。
  5. E组件和F组件都从A组件取相同的数据,可以通过from的方式给数据起别名。
  6. provide直接提供this,this中的数据都是响应式的。
  7. 若C组件和A组件通过provide都提供了相同的数据, E组件和F组件向上找到C组件就不会再去找了。