繁体   English   中英

Angular指令拦截点击事件

[英]Angular directive to intercept click event

我想要一个指令来拦截整个组件上的鼠标单击事件。

我写了一个 Angular 指令来拦截鼠标点击事件。

@Directive({
    selector: '[interceptClick]'
})
export class InterceptClickDirective {
    constructor() {}

    @HostListener('click', ['$event'])
    onClick($event: MouseEvent): void {
      console.log('mouse clicked');
    }
}

我想在组件中使用它,所以我写了

<my-component interceptClick></my-component>

但这不起作用。

如果我写类似的东西

<div>
    <button interceptClick>my button</button>
</div>

如果我单击按钮,该指令将起作用。

如何使指令对整个组件起作用?

我正在使用 Angular 13。

您可以将 HTML 元素包裹在组件周围,或者将 HTML 元素添加到组件本身,然后添加指令。

<div interceptClick>
    <my-component></my-component>
</div>

或者在组件本身

<div interceptClick>
    'All HTML content of the component'
</div>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM