import{ax as s,z as i,A as a,b2 as t}from"./chunks/framework.DkLJC2NO.js";const k=JSON.parse('{"title":"EventHelper","description":"","frontmatter":{},"headers":[],"relativePath":"runtime-api/core/eventHelper.md","filePath":"runtime-api/core/eventHelper.md"}'),n={name:"runtime-api/core/eventHelper.md"};function l(p,e,o,d,h,r){return a(),i("div",null,[...e[0]||(e[0]=[t(`
EventHelper 是 @tmagic/core 的事件助手类,继承自 EventEmitter,用于管理组件间的事件联动。
new EventHelper(options: EventHelperOptions)| 参数 | 类型 | 说明 |
|---|---|---|
app | App | 应用实例 |
| 属性 | 类型 | 说明 |
|---|---|---|
app | App | 应用实例 |
返回:
{void}详情:
初始化所有节点的事件。通常在页面加载时调用。
示例:
eventHelper.initEvents();参数:
{Node} node 节点实例返回:
{void}详情:
为单个节点绑定事件处理。
示例:
eventHelper.bindNodeEvents(node);返回:
{void}详情:
移除所有节点的事件绑定。
返回:
{void}详情:
绑定数据源事件,监听数据源变化并触发相应的组件更新。
参数:
{DataSourceSchema[]} dataSourceList 数据源列表(可选)返回:
{void}详情:
移除数据源事件绑定。
返回:
{EventConfig[]}详情:
获取当前事件队列。
参数:
{EventConfig} event 事件配置返回:
{void}详情:
将事件添加到队列中等待处理。
返回:
{void}详情:
销毁事件助手,清理所有事件绑定。
EventHelper 支持以下动作类型(ActionType):
| 类型 | 说明 |
|---|---|
ActionType.COMP | 组件动作,调用目标组件的方法 |
ActionType.CODE | 代码块执行 |
ActionType.DATA_SOURCE | 数据源方法调用 |
const eventConfig = {
name: 'click',
actions: [
{
actionType: 'comp',
to: 'button_2',
method: 'show'
},
{
actionType: 'code',
codeId: 'code_1'
},
{
actionType: 'dataSource',
dataSourceId: 'ds_1',
methodName: 'fetchData'
}
]
};