JavaScript创建事件方法



我有辅助类,要定义事件方法,该方法在更改某些值时被触发。

eg简化:

class HelperClass {
  activeIndex = 0;
  constructor(element) {}
  ...some computation methods...
}

当ActiveIndex从外部更改时,我需要发射事件。类似AddEventListener。当内部价值更改时,可以是从CLAS外部聆听。例如:

const obj = new HelperClass(element);
obj.onActiveIndexChange((event, activeIndex) => ...something...)
or
obj.on('activeIndexChange', (event, activeIndex) => ....something.... )

我不想使用外部库。更喜欢带有本机功能的香草代码。

谢谢。

更新:简单解决方案

class HelperClass {
  activeIndex = 0;
  addEventListener(eventName, func) {
    this[
      `on${eventName.substr(0, 1).toUpperCase()}${eventName.substr(1)}`
    ] = func;
  }
  onActiveIndexChange(activeIndex) {}
}

this.onactiveIndexchange(newValue)在更改值之后调用

然后在外部定义:

objInstance.addEventListener('activeIndexChange', (activeIndex) =>
  ...myCustomCodePassed in callback...
);

可能是您需要Sometheng Line

https://developer.mozilla.org/en-us/docs/web/api/eventtarget

或https://nodejs.org/api/events.html#events_class_eventemitter如果您使用的是nodejs

您可以为对象属性定义设置器:

https://developer.mozilla.org/es/docs/web/javascript/referencia/objetos_globales/object/object/defineproperty

每次更改值时,它都会触发功能。

是香草javascript。

相关内容

  • 没有找到相关文章

最新更新