Vue學習第四天:12常用高級特性provide和inject
時間 2021-06-12
標籤
天天愛學Vue
前端
html
javascript
es6
vue.js
跨組件通信
總結:
- 開發通用組件頻率用的相當高。
- F組件若想和I組件進行通信,普通方式下需要通過$emit事件往父組件進行層層傳遞,A組件再通過屬性往子組件進行層層傳遞,這種方式是很脆弱的,基於此,有了provide和inject。
- provide提供數據,inject注入數據。
- 通過provide和inject,E組件通過層層冒泡的形式從A組件中取數據。
- E組件和F組件都從A組件取相同的數據,可以通過from的方式給數據起別名。
- provide直接提供this,this中的數據都是響應式的。
- 若C組件和A組件通過provide都提供了相同的數據, E組件和F組件向上找到C組件就不會再去找了。