我创建了一个自定义指令,用于限制任何元素的事件。
自定义指令
@Directive({ selector: '[disabled]' })
export class DisableDirective implements OnInit {
@HostListener('focusout', ["$event"]) onFocus(event: Event) {
event.preventDefault();
event.stopPropagation();
return false;
}
}
元素
<input disabled (focusout)="checkVal();">
组件
export class TextComponent implements OnInit, OnChanges {
checkVal(){
console.log('component called');
}
}
每次渲染元素时,都会首先调用伪指令HostListener
,随后将调用组件函数。
我不希望调用该组件函数,为什么会这样?