欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 游戏 > 使用 Emitter 通知触发事件

使用 Emitter 通知触发事件

2025/9/14 11:33:50 来源:https://blog.csdn.net/2301_80345482/article/details/142588440  浏览:    关键词:使用 Emitter 通知触发事件

一个场景是:登录成功的时候,更新首页试题数据

  • 思考:首页如何知道登录成功?@Watch 触发情况太大不好控制。
  • 方案:使用 emitter 可以通知
// 绑定事件
emitter.on("eventId", () => {console.info('callback');
});
// 触发事件
emitter.emit("eventId", eventData);

实现步骤:

  • 在首页 HomePage,绑定事件,触发的时候更新数据
  • 在登录成功后,触发事件

1.统一维护事件ID

// 统一维护事件ID
export const LOGIN_EVENT = 'LOGIN_EVENT'

 2.在首页绑定更新数据的事件

  aboutToAppear(): void {this.getQuestionTypeList()// 触发 LOGIN_EVENT 更新数据emitter.on(LOGIN_EVENT, () => {this.getQuestionTypeList()})}

3.在登录成功之后触发事件

      this.loading = falseauth.setUser(user)//通过事件Id ,触发事件
+     emitter.emit(LOGIN_EVENT)router.back()

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词