角度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

回到顶部