Angular 如何为自定义元素使用HostListener?(2)
我可以使用Angular 如何为自定义元素使用HostListener?(2),angular,typescript,Angular,Typescript,我可以使用HostListener进行文档侦听: @HostListener('document:click', ['$event']) someAction(event) { console.log('done'); } 如何侦听元素的单击事件。例如: <span class="someClass"></span> @HostListener('click',['$event'])用于侦听主机元素本身上的事件。没有其他可以使用它们的用例 一个例外是与全局事
HostListener
进行文档侦听:
@HostListener('document:click', ['$event'])
someAction(event) {
console.log('done');
}
如何侦听元素的单击事件。例如:
<span class="someClass"></span>
@HostListener('click',['$event'])
用于侦听主机元素本身上的事件。没有其他可以使用它们的用例
一个例外是与全局事件目标一起使用的全局事件,如窗口:
,文档:
,或正文
要侦听任意元素,请使用
<span class="someClass" (click)="someAction($event)"></span>
Gunter的答案是正确的,但您可以使用HostListener发出指令,以获得更全局的使用感(如favorite/like按钮)
@Directive({
selector: '.favorite'
})
class FavoriteDirective(){
@HostListener('click', ['$event.target']) onClick(_element) {
...
}
}