私はヘルパークラスを持っていて、何らかの値が変更されたときに発生するイベントメソッドを定義したいと思います。Javascript create event method
例えば簡素化:
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....)
私は外部ライブラリを使用しません。ネイティブ機能を備えたバニラコードを推奨します。
ありがとうございました。
UPDATE:簡単な解決策
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...
);
のDefinePropertyは大丈夫ですNodeJSを使用している場合は? 。しかし、私は外部からアクセス可能なメソッドイベントを作成したい。 – rado
それは方法ではありません! – lilezek
私は高速なソリューションを作成します。最高ではないが動作する。私は方法を作ったwchithは別の機能を取り、その機能を私は外から呼び出すことができます。何かこのように:onValueChange(func){this.callbackMethod = func} – rado