依賴注入是針對父級組件與子孫級組件之間的數(shù)據(jù)傳遞數(shù)據(jù)的傳遞狮辽,或者有很多后代組件的情況,只針對直系后代使用,實(shí)現(xiàn)組件之間的數(shù)據(jù)共享攻走。
爺爺組件給孫子組件傳遞數(shù)據(jù)
需要使用到vue提供的provide以及inject方法
其中,provide用來提供傳遞的數(shù)據(jù)此再,inject用來接收數(shù)據(jù)
子組件的如果也想要使用爺爺組件的數(shù)據(jù)昔搂,操作方法是一樣的,也是通過inject進(jìn)行接收并且return输拇,然后直接使用即可摘符。
總結(jié):
1.父傳子孫數(shù)據(jù):provide
2.子孫得到數(shù)據(jù):inject
孫子組件傳遞數(shù)據(jù)給爺爺組件
這里還是使用provide和inject來進(jìn)行數(shù)據(jù)的傳遞,但是這次是通過函數(shù)的參數(shù)進(jìn)行傳值策吠。
1.導(dǎo)入provide和inject到父組件中
2.通過provide聲明函數(shù)逛裤,并要有形參用來接收孫組件傳來的實(shí)參
總結(jié):
1.孫子組件傳遞數(shù)據(jù)給爺爺組件,需要通過provide一個(gè)函數(shù)的方式實(shí)現(xiàn)
2.爺爺組件傳遞一個(gè)函數(shù)猴抹,后續(xù)通過函數(shù)的形參獲取數(shù)據(jù)
孫子組件獲取并調(diào)用該函數(shù)傳遞數(shù)據(jù)
總結(jié):
1.父子傳參:
爹給兒子傳遞數(shù)據(jù)带族,通過自定義屬性,給組件props屬性蟀给,然后綁定在父組件的子組件上
兒子給爹傳遞數(shù)據(jù)蝙砌,通過自定義事件
2.爺爺孫子傳參:
孫子給爺爺傳值是函數(shù)阳堕,通過provide一個(gè)函數(shù),在孫子組件inject注入择克,然后通過參數(shù)傳遞想要傳遞的值
爺爺給子孫傳遞數(shù)據(jù)嘱丢,通過provide一個(gè)變量和值,在孫子組件inject注入祠饺,孫子組件通過inject接收數(shù)據(jù)即可越驻。
3.后代給前輩傳數(shù)據(jù)都需要函數(shù)傳參
4.自定義屬性、事件(函數(shù))一般都綁定在父組件中道偷,也就是provide一般出現(xiàn)在父組件缀旁,不論是提供給孫組件的數(shù)據(jù)還是接收孫組件數(shù)據(jù)的函數(shù)