日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

理解微信小程序Wepy框架的三个事件交互$broadcast,$emit,$invoke

發(fā)布時間:2024/4/15 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 理解微信小程序Wepy框架的三个事件交互$broadcast,$emit,$invoke 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

$broadcast:

$broadcast事件是由父組件發(fā)起,所有子組件都會收到此廣播事件,除非事件被手動取消。事件廣播的順序為廣度優(yōu)先搜索順序,如上圖,如果頁面Page_Index發(fā)起一個$broadcast事件,那么按先后順序依次接收到該事件的組件為:ComA、ComB、ComC、ComD、ComE、ComF、ComG、ComH。如下圖

理解官方意思就是:如果通過當(dāng)前組件進(jìn)行$broadcast廣播事件,那么就只有它的子組件能接收事件,它的父組件和兄弟組件是無法接收到消息。調(diào)用方式如下

? ? ? ? this.$broadcast('eventName', param1,param2,param3,......)

? ? ? ? 然后在子組件的events里面定義eventName接收事件就行了,如下:

? ? ? ? events = {

? ? ? ? ? ? 'eventName':?(param1,param2......., $event:Event) => {

????????????????}

????????}

$emit

?$emit與$broadcast正好相反,事件發(fā)起組件的所有祖先組件會依次接收到$emit事件。如果組件ComE發(fā)起一個? ?$emit事件,那么接收到事件的先后順序為:組件ComA、頁面Page_Index。如下圖:

?

理解官方的意思就是:如果通過當(dāng)前組件進(jìn)行$emit廣播事件,那么就只有它的父組件能接收事件,它的子組件和兄弟組件是無法接收到消息。調(diào)用方式如下

????????this.$emit('eventName', param1,param2,param3,......)

? ? ? ? 然后在父組件的events里面定義eventName接收事件就行了,如下:

? ? ? ? events = {

? ? ? ? ? ? 'eventName':?(param1,param2......., $event:Event) => {

????????????????}

????????}

$invoke

$invoke是一個頁面或組件對另一個組件中的方法的直接調(diào)用,通過傳入組件路徑找到相應(yīng)的組件,然后再調(diào)用其方法。

比如,想在頁面Page_Index中調(diào)用組件ComA的某個方法:

this.$invoke('ComA', 'someMethod', 'someArgs');

如果想在組件ComA中調(diào)用組件ComG的某個方法:

this.$invoke('./../ComB/ComG', 'someMethod', 'someArgs');

理解官方的意思就是:如果通過當(dāng)前組件進(jìn)行$invoke觸發(fā)事件,如果父組件已經(jīng)在components里面引入了子組件就可以直接通過invoke來單獨向子組件發(fā)送事件;如果是子組件之間的事件交互,第一個參數(shù)就需要對應(yīng)組件的路徑。調(diào)用方式如下

父組件向子組件發(fā)送事件:

? ??this.$invoke('子組件,必須要單引號括起來', '子組件方法名稱',? param1,param2,param3.......);

子組件間發(fā)送事件:

this.$invoke('子組件的相對路徑', '子組件方法名稱',? param1,param2,param3.......);



作者:會擼碼的小馬
鏈接:https://www.jianshu.com/p/3aeca9db1e51

轉(zhuǎn)載于:https://www.cnblogs.com/suihang/p/10456807.html

總結(jié)

以上是生活随笔為你收集整理的理解微信小程序Wepy框架的三个事件交互$broadcast,$emit,$invoke的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。