uni.$on(eventName, callback)
监听自定义事件。事件可以由 uni.$emit 触发。回调函数会接收 uni.$emit 传递的参数。
4.31+ 开始支持返回事件监听器 id, 用于 off 事件监听器。
$on 兼容性
Web | Android | iOS | iOS uni-app x UTS 插件 |
4.0 | 3.91 | 4.11 | 4.31 |
参数
名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |
eventName | string | 是 | - | - | 事件名称 |
callback | () => void | 是 | - | - | 事件回调 |
返回值
参见
uni.$off(eventName, callback)
移除自定义事件监听器。如果提供了事件名和回调,则只移除这个回调的监听器。
4.13+ 开始支持第二个参数为可选,如果仅提供事件名,则移除该事件的所有监听器。
4.31+ 开始第二个参数的类型由 Function | null
调整为 any | null
, 支持传入 uni.$on
、uni.$once
返回的事件监听器 id, 移除指定事件监听器。
$off 兼容性
Web | Android | iOS | iOS uni-app x UTS 插件 |
4.0 | 3.91 | 4.11 | 4.31 |
参数
名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |
eventName | string | 是 | - | - | 事件名称 |
callback | any | 否 | - | - | 要移除的事件回调或事件监听器 id |
参见
uni.$once(eventName, callback)
监听一个自定义事件。事件只触发一次,在第一次触发之后移除事件监听器。
4.31+ 开始支持返回事件监听器 id, 用于 off 事件监听器。
$once 兼容性
Web | Android | iOS | iOS uni-app x UTS 插件 |
4.0 | 3.91 | 4.11 | 4.31 |
参数
名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |
eventName | string | 是 | - | - | 事件名称 |
callback | () => void | 是 | - | - | 事件回调 |
返回值
参见
uni.$emit(eventName, args?)
触发自定义事件,附加的参数会传递给事件监听器。
$emit 兼容性
Web | Android | iOS | iOS uni-app x UTS 插件 |
4.0 | 3.91 | 4.11 | 4.31 |
参数
名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |
eventName | string | 是 | - | - | 事件名称 |
args | Array<any> | 否 | - | - | 触发事件时传递的参数 |
WARNING
参数 args
为对象字面量时,4.25 前需要通过 as
明确类型,例如:
4.25+ 编译器会自动将对象字面量推断为 UTSJSONObject
类型,不再需要通过 as
明确类型。如果需要传递其他自定义类型的对象字面量,仍需要通过 as
明确类型。
参见
示例
hello uni-app x
通用类型
GeneralCallbackResult
名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |
errMsg | string | 是 | - | - | 错误信息 |
Tips
eventName
应避免使用 uni
开头,以免与 uni-app x 内置事件冲突