角度HostListener同一组件的多个实例
我有一个名为ListComponent的组件,我在其中有以下代码。角度HostListener同一组件的多个实例
@HostListener("document:keydown", ["$event"]) handleKeyEvent(event: KeyboardEvent) {
switch(event.keyCode) {
case 38: //up arrow
this.selectPreviousItem();
break;
case 40: //down arrow
this.selectNextItem();
break;
}
}
当我按下箭头键或向下箭头键时,事件触发页面上组件的所有实例。我如何才能仅针对焦点元素发起事件?
回答:
我认为最好是创建一个指令并在元素中调用它来关注。
@Directive({ selector: 'focusItem',
})
export class MyDirective {
constructor() { }
@HostListener('focus', ['$event.target'])
onFocus(target) {
console.log("Focus called 1");
}
}
呼叫它在元件
<input focusItem>
以上是 角度HostListener同一组件的多个实例 的全部内容, 来源链接: utcz.com/qa/265685.html