Vue3 emits 结合回调函数的使用

回调函数

先说下啥是回调函数,举个例子,当A方法调用B方法时,A方法会传一个方法作为参数给B方法,B方法中可以去按照逻辑执行A传递过的函数,就是回头再调用A方法传参给的方法。有点绕哈,写段代码参考下

javascript 复制代码
const funA = () => {
	// 业务逻辑 .....
	
	funB('布拉布拉', 123, () => {
		// 回调的业务逻辑
	});
};


/**
* B 方法 最好加上ts约束
* @param param1 参数1
* @param param2 参数2
* @param fun1   参数函数1,这里是一个函数
*/
const funB = (param1:string, param2: number, fun1: Function){
	// 拿到参数做业务 ....

	// 执行参数函数,这里会执行到A方法中传递的方法
	fun1();
}

其实vue中有很多这种示例,如vue响应式的逻辑处理有很多都是将函数存储到map set集合中,然后去做逻辑,这里主要的思路就是方法传参不仅可以传递普通参数,也可以传递函数,集合存储亦是可以存储函数等待特殊类型。

emits调用回调函数

回到主题哈,结合上面的代码这里就很好理解了。正常emits用于子父组件的通信,子组件通信父组件,使用回调函数就是想父组件接受了子组件的消息后再回调到子组件中。

javascript 复制代码
// 子组件
emtis('demoBack', data, () => {
	// 回调业务
});


// 父组件
<子组件 @demoBack="handleDemoBack">

const handleDemoBack = (data, fun) => {
	// data 是传递的数据

	// 执行回调函数
	fun();
};
相关推荐
濮水大叔28 分钟前
在大型 Vue 项目中,如何有效管理复杂的状态?“散装版” vs “套装版”
前端·vue.js·typescript
laowang3572 小时前
依赖故障时,日志体系需要埋哪些关键节点才能快速定位是安装失败、解析失败还是运行时缺失?
前端·javascript·vue.js·webpack·node.js
大爱编程♡7 小时前
Vue3基础
前端·javascript·vue.js
志尊宝7 小时前
Vue3 环境搭建 + 第一个 HelloVue 项目(零基础入门)
vue.js·node.js·vue·css3
daols889 小时前
vue 甘特图 vxe-gantt 实现双进度条:计划 vs 实际,支持多级子任务拆分
vue.js·甘特图·vxe-table·vxe-gantt
踩着两条虫1 天前
可视化 vs 终端 vs 云端:VTJ.PRO、Claude Code、Codex 三强横评
前端·vue.js·人工智能·低代码·架构
前端毕业班1 天前
uni-app 小程序支持 teleport 了
前端·javascript·vue.js
妙码生花1 天前
从 PHP 到 AI + Golang,程序员自救转型手记(二十一):网络请求封装优化
前端·javascript·vue.js
sowhat881 天前
Vue3+vite+Ts+pinia—第八章 生命周期
vue.js
这是个栗子1 天前
【Vue代码分析】 import.meta.env.DEV:现代前端工程中的环境变量
前端·javascript·vue.js·环境变量