日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Vue3中的七個組件通信技巧

寫在前面

本文采用

子組件只需要渲染父組件傳過來的值即可。

代碼如下:


2. emit

Emit也是Vue中最常見的組件通信方式,用于子組件向父組件傳遞消息。

我們在父組件中定義列表,子組件只需要傳遞添加的值即可。

子組件代碼如下:


單擊子組件中的 [Add] 按鈕后,我們發(fā)出自定義事件并將添加的值作為參數(shù)傳遞給父組件。

父組件代碼如下:


在父組件中,只需要監(jiān)聽子組件的自定義事件,然后執(zhí)行相應(yīng)的添加邏輯即可。

3.v-model

v-model是Vue中一個優(yōu)秀的語法糖,比如下面的代碼。

這是以下代碼的簡寫形式

確實容易多了。現(xiàn)在我們將使用 v-model 來實現(xiàn)上面的例子。

子組件


在子組件中,我們先定義props和emit,添加完成后,再emit指定的事件。

注意:update:*是Vue中固定的寫法,*代表props中的一個屬性名。

在父組件中使用比較簡單,代碼如下:


4. refs

在使用option API時,我們可以通過this.$refs.name獲取指定的元素或組件,而在combined API中則不行。如果我們想通過ref獲取,需要定義一個同名的Ref對象,組件掛載后才能訪問到。

示例代碼如下:


子組件


注意:使用provide進行數(shù)據(jù)傳遞時,盡量用readonly封裝數(shù)據(jù),避免子組件修改父組件傳過來的數(shù)據(jù)。

6.eventBus

在 Vue 3 中移除了 eventBus,但可以借助第三方工具來完成。Vue 官方推薦 mitt 或 tiny-emitter。大多數(shù)情況下,不推薦使用全局事件總線來實現(xiàn)組件通信。雖然比較簡單粗暴,但是長期維護event bus是個大問題,這里就不多說了。具體可以閱讀具體工具的文檔。

7.Vuex && Pinia

Vuex和Pinia是Vue 3中的狀態(tài)管理工具,使用這兩個工具可以輕松實現(xiàn)組件通信。由于這兩個工具比較強大,這里就不展示了。有關(guān)詳細信息,請參閱文檔。

最后

以上就是我今天想與你分享的Vue3中的7個組件通信技巧,如果對你有幫助的話,請記得點贊我,關(guān)注我,并將這篇文章分享給你的朋友,也許能夠幫助到他。

最后,謝謝你的閱讀。


網(wǎng)站題目:Vue3中的七個組件通信技巧
分享地址:http://m.5511xx.com/article/djcpeeh.html