在我的角度分量I類有用來處理事件以下模式:它是一個TypeScript反模式來動態調用存儲在文字中的成員函數嗎?
private keyHandlers = {
'ArrowDown': function ($event) {
this.handleArrowDown($event);
},
'ArrowUp': function ($event) {
this.handleArrowUp($event);
},
};
然後@HostListener
像這樣:
@HostListener('keydown', ['$event'])
onKeyDown($event: KeyboardEvent) {
if (typeof this.kbdHandlers[$event.code] === 'function') {
this.keyHandlers[$event.code]($event);
}
}
然後,再往下我有指定爲私人的個別處理器這個類的成員:
private handleArrowDown($event) {
// ...
}
private handleArrowUp($event) {
// ...
}
然而"noUnusedLocals": true,
規則似乎不喜歡它,抱怨關於handleArrow *方法從未使用。所以我的問題是 - 這種方法是否被認爲是TypeScript中的一個反調試器,還是有辦法滿足編譯器並注意這些成員?
什麼是'this'在keyHandlers職能範圍?與句柄*()相同? – devio
是的,它是一樣的 – user776686
你的keyHandlers樂趣怎麼不傳遞$事件,雖然你期望它? –