运行时

稳定

运行时实例事件

稳定性:stable 的范围是 iframe 代理当前提供的 $on / $off 事件接口和已转发事件名。

调用方式与方法签名

instance.$on(eventName, callback): void
instance.$off(eventName, callback): void

事件

事件 数据 说明
reportMounted 无 子页完成挂载;它同时用于 resolve mount
reportFormAfterSubmit event.data.data 表单提交后结果
reportFormSubmit event.data.data 表单提交事件
beeReportBridge event.data.data 报表脚本发出的业务桥接数据
printComplete event.data.data 打印完成数据
unmount 无 子页通知卸载,父页移除 iframe

参数与默认值

同一事件可注册多个回调。$off(name, callback) 仅移除传入的同一个函数引用;当前实现不提供省略 callback 后移除全部监听器的约定。

返回值与异常

$on / $off 没有返回值。回调异常不会转成 ExportApi 错误码,业务应自行捕获。reportMounted 在 Promise resolve 同步流程中发出,调用方通常应以 mount resolve 表示首次挂载成功,而不是在 resolve 后再等待首次 reportMounted。

最小示例

const onBridge = (payload) => console.log("bridge", payload);
instance.$on("beeReportBridge", onBridge);
instance.$on("printComplete", (payload) => console.log("printed", payload));

// 清理业务监听:
instance.$off("beeReportBridge", onBridge);

iframe 模式差异

上述 emitter 由 iframe 代理创建。非 iframe mount 返回 Builder 实例,不能据此承诺同样的 $on / $off 外部事件契约。

相关 API

运行时实例方法、iframe 集成。

常见错误

$off 必须传注册时的原函数引用;内联创建一个新函数无法移除旧监听。页面销毁时还应调用顶层 api.unmount。