我有帮助类,并希望定义在更改某些值时触发的事件方法。
例如简化:
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...
);
答案 0 :(得分:1)
可能你需要一些这条线
https://developer.mozilla.org/en-US/docs/Web/API/EventTarget
或https://nodejs.org/api/events.html#events_class_eventemitter如果您使用的是NodeJS
答案 1 :(得分:0)
您可以为对象属性定义一个setter:
每次更改值时都会触发一个函数。
这是一个普通的JavaScript。