如何使用HostListener

uks*_*ksz 23 angular

我想知道我该怎么用@HostListener.我发现的唯一信息是在备忘单中:

@HostListener('click', ['$event']) onClick(e) {...}
Run Code Online (Sandbox Code Playgroud)

我正在尝试记录用户点击的元素.我试过这样的:

@HostListener('click')({
    onClick(e) {
        console.log(e)
    }
})
Run Code Online (Sandbox Code Playgroud)

但后来我收到一个错误:

TypeError: decorator is not a function(…)
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

Gün*_*uer 39

错误消息非常准确.装饰器只是用于装饰函数(或类,字段,参数......)只需将它放在要装饰的代码之前:

@HostListener('click', ['$event'])
onClick(e) {
  console.log(e)
}
Run Code Online (Sandbox Code Playgroud)