Uni-app 事件总览:emit、on、once、off 函数详解

本文将详细介绍 uni-app 事件机制中的四个核心函数:emitononceoff,并提供清晰的描述、参数说明和返回值解释,帮助开发者轻松理解和使用 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 的事件机制,并灵活地应用于各种场景中,实现组件之间高效的通信和交互。

Uni-app 事件总览:emit、on、once、off 函数详解

原文地址: https://www.cveoy.top/t/topic/lLgm 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录