Vue3 emits結合回調函數的使用方式
更新時間:2024年12月26日 08:42:08 作者:-小龍人
文章介紹了回調函數的概念,并通過一個簡單的例子來說明其工作原理,接著,文章提到在Vue.js中,回調函數常用于子父組件之間的通信,父組件可以接受子組件的消息并調用回調函數,文章通過代碼示例和解釋,幫助讀者理解回調函數在實際開發(fā)中的應用
Vue3 emits結合回調函數使用
回調函數
先說下啥是回調函數,舉個例子:
當A方法調用B方法時,A方法會傳一個方法作為參數給B方法,B方法中可以去按照邏輯執(zhí)行A傳遞過的函數,就是回頭再調用A方法傳參給的方法。
有點繞哈,寫段代碼參考下:
const funA = () => { // 業(yè)務邏輯 ..... funB('布拉布拉', 123, () => { // 回調的業(yè)務邏輯 }); }; /** * B 方法 最好加上ts約束 * @param param1 參數1 * @param param2 參數2 * @param fun1 參數函數1,這里是一個函數 */ const funB = (param1:string, param2: number, fun1: Function){ // 拿到參數做業(yè)務 .... // 執(zhí)行參數函數,這里會執(zhí)行到A方法中傳遞的方法 fun1(); }
其實vue中有很多這種示例:
如vue響應式的邏輯處理有很多都是將函數存儲到map set集合中,然后去做邏輯,這里主要的思路就是方法傳參不僅可以傳遞普通參數,也可以傳遞函數,集合存儲亦是可以存儲函數等待特殊類型。
emits調用回調函數
回到主題哈,結合上面的代碼這里就很好理解了。
正常emits用于子父組件的通信,子組件通信父組件,使用回調函數就是想父組件接受了子組件的消息后再回調到子組件中。
// 子組件 emtis('demoBack', data, () => { // 回調業(yè)務 }); // 父組件 <子組件 @demoBack="handleDemoBack"> const handleDemoBack = (data, fun) => { // data 是傳遞的數據 // 執(zhí)行回調函數 fun(); };
總結
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
vuex中數據持久化插件vuex-persistedstate使用詳解
這篇文章主要介紹了vuex中數據持久化插件vuex-persistedstate使用詳解,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-03-03