用途:在 GPUI 中实现组件间协调的事件系统,适用于需要事件、观察者或事件驱动模式的场景。
主要能力:自定义事件(定义并发出类型安全的事件);观察(响应实体状态变化);订阅(监听其他实体的事件);全局事件(应用级事件处理)。
使用方式:定义事件用 #[derive(Clone)] enum MyEvent,通过 cx.emit(MyEvent::...) 发出并调用 cx.notify();订阅用 cx.subscribe(&source, |this, emitter, event, cx| {...}).detach();观察实体变化用 cx.observe(&target, |this, observed, cx| {...}).detach()。常见模式包括父子通信、全局事件广播和观察者模式。
限制与注意:订阅需调用 .detach() 保持存活;避免相互订阅造成事件循环;事件类型应保持清晰。API 参考与模式文档见 api-reference.md 和 patterns.md。