0
文字列として定義した関数名にイベントをフックアップするにはどうすればよいですか?私はこの[funcName]を試してみましたが、エラーになります: "型にインデックスシグネチャがありません"?名前で関数ディスクリプタを取得します。
現在のクラスの代理人を名前で取得するには、この代わりに[someData [key]]が必要です。
テストコードサンプル:
<div data-eventclick='ClickHandler' />
...
public someFunction(domContex: HTMLElement) {
let someData = domContext.dataset;
someData.filter(key => string.prototype.startsWith("event"))
.foreach(key => domContext.bind(key.substr(5), this[someData[key]]);
}
// It's can be as the result of this[someData[key]]
public ClickHandler() {
...
}
これは、同じ人から重複して質問です:https://stackoverflow.com/questions/46694669/typescript-how-to-get-機能別名前 –