Uni-app 事件总览:emit、on、once、off 函数详解
Uni-app 事件总览:emit、on、once、off 函数详解
本文将详细介绍 uni-app 事件机制中的四个核心函数:emit、on、once、off,并提供清晰的描述、参数说明和返回值解释,帮助开发者轻松理解和使用 uni-app 的事件机制。
| 函数名称 | 函数描述 | 参数 | 返回值 |
|---|---|---|---|
| emit | 发布指定名称的事件 | eventName: string, data: any, ...args: any | void |
| on | 订阅指定名称的事件 | eventName: string, callback: Function | 取消订阅该事件的函数: Function |
| once | 订阅指定名称的事件,并且只订阅一次,回调函数会在第一次触发后自动取消订阅 | eventName: string, callback: Function | void |
| off | 取消订阅指定名称的事件 | eventName: string, callback?: Function | void |
emit
/**
* 发布指定名称的事件
* @param {string} eventName 事件名称
* @param {*} data 事件数据
* @param {...*} args 其他参数,与 uni.$emit 方法保持一致
* @returns {void}
*/
export function emit(eventName, data, ...args) {
return uni.$emit(eventName, data, ...args);
}
on
/**
* 订阅指定名称的事件
* @param {string} eventName 事件名称
* @param {Function} callback 回调函数
* @returns {Function} 取消订阅该事件的函数
*/
export function on(eventName, callback) {
return uni.$on(eventName, callback);
}
once
/**
* 订阅指定名称的事件,并且只订阅一次,回调函数会在第一次触发后自动取消订阅
* @param {string} eventName 事件名称
* @param {Function} callback 回调函数
* @returns {void}
*/
export function once(eventName, callback) {
return uni.$once(eventName, callback);
}
off
/**
* 取消订阅指定名称的事件
* @param {string} eventName 事件名称
* @param {Function} callback 回调函数(可选),如果不传递则取消所有订阅该事件的回调函数
* @returns {void}
*/
export function off(eventName, callback) {
return uni.$off(eventName, callback);
}
通过以上详细介绍,开发者可以轻松理解和使用 uni-app 的事件机制,并灵活地应用于各种场景中,实现组件之间高效的通信和交互。
原文地址: https://www.cveoy.top/t/topic/lLgm 著作权归作者所有。请勿转载和采集!