event-bus.js 487 B

12345678910111213141516171819202122
  1. export const eventBus = {
  2. events: {},
  3. // 注册事件监听
  4. on(eventName, callback) {
  5. this.events[eventName] = callback;
  6. },
  7. // 触发事件
  8. emit(eventName, data) {
  9. if (typeof this.events[eventName] === 'function') {
  10. this.events[eventName](data);
  11. }
  12. },
  13. // 移除事件监听
  14. off(eventName, callback) {
  15. if (this.events[eventName] === callback) {
  16. delete this.events[eventName];
  17. }
  18. }
  19. };