我有一个指令,我会将某些锚元素应用于preventDefault()
。
import { Directive, ElementRef, HostListener } from '@angular/core';
@Directive({
selector: '[myDirective]'
})
export class myDirective {
constructor(private el: ElementRef) { }
@HostListener('click') onClick(event) {
event.preventDefault() // event is undefined
}
}
我正在尝试做的基本上是在jQuery中:
$('[my-directive]').click(function (e) {
e.preventDefault();
});
我怎样才能实现角度?我有Angular 4.1。
答案 0 :(得分:1)
您还需要指定args
:
@Directive({
selector: '[myDirective]'
})
export class MyDirective {
@HostListener('click', ['$event']) /* note args array */
onClick(event) {
console.log(event);
event.preventDefault();
}
}
查看示例Plunkr:https://embed.plnkr.co/eNXEdb/(打开控制台,然后点击" Hello Angular" )。