bus.js 708 B

123456789101112131415161718192021222324252627282930
  1. "use strict";
  2. const event = {};
  3. const Bus = {
  4. /** 绑定一个事件 */
  5. $on(eventName, eventFun) {
  6. if (event.hasOwnProperty(eventName)) {
  7. throw new Error(`存在事件 => ${eventName}`);
  8. } else {
  9. event[eventName] = eventFun;
  10. }
  11. },
  12. /** 解绑一个事件 */
  13. $off(eventName) {
  14. if (event.hasOwnProperty(eventName)) {
  15. delete event[eventName];
  16. } else {
  17. throw new Error(`不存在事件 => ${eventName}`);
  18. }
  19. },
  20. /** 触发一个事件 */
  21. $emit(eventName, ...args) {
  22. if (event.hasOwnProperty(eventName)) {
  23. return event[eventName](...args);
  24. } else {
  25. throw new Error(`不存在事件 => ${eventName}`);
  26. }
  27. }
  28. };
  29. exports.Bus = Bus;