我使用angular5,在应用程序中我创建了一个抛出错误的指令。我无法理解这个问题,任何人都可以帮助我吗?
代码:
import { Directive, ElementRef, HostListener, Input, Renderer } from '@angular/core';
@Directive({
selector: '[zoom]'
})
export class ZoomDirective {
constructor(private el:ElementRef, private renderer:Renderer) {
@HostListener('mouseenter') onMouseEnter() {
this.highlight('yellow');
}
}
}
错误:
cannot find onMouseEnter, did you mean onmouseenter
我得到了突出显示:onMouseEnter
和this.highlight('yellow');
问题是什么?
棱角分明的细节:
Angular CLI: 1.6.5
Node: 6.11.4
OS: win32 x64
Angular: 5.2.3
答案 0 :(得分:2)
@HostListener('mouseenter')
应该在构造函数之外声明:
export class ZoomDirective {
constructor(private el:ElementRef, private renderer:Renderer) { }
@HostListener('mouseenter') onMouseEnter() {
this.highlight('yellow');
}
private highlight(color: string) {
this.el.nativeElement.style.backgroundColor = color;
}
}
更多示例可以在Angular documentation中找到。