gpt4 book ai didi

javascript - Angular2 - 检查是否使用@HostListener 将新类添加到指令中

转载 作者:行者123 更新时间:2023-11-27 23:19:10 26 4
gpt4 key购买 nike

我有一个指令,我想检测 x 类是否添加到使用该指令的 DOM 元素中。例如,假设我有一个链接

<a myLink class="">A link</a>

然后,active 类从 javascript

添加到该元素
<a myLink class="active">A link</a>

我想在 MyLink 指令中检测这个类。我试过类似的东西

  @HostListener('class',['active'])
onVisible(){
console.log("Element active");
}

但毫不奇怪,它不起作用。我如何使用 HostListener 或任何其他方式做到这一点?

最佳答案

@HostListener() 仅用于事件。

你可以像这样使用ngDoCheck

export class MyClass implements DoCheck {
constructor(private elRef:ElementRef) {
console.log('myClass');
}

ngDoCheck() {
console.log('classList: ' + this.elRef.nativeElement.classList);
}
}

Plunker example

另见 https://angular.io/docs/ts/latest/api/core/index/DoCheck-class.html

关于javascript - Angular2 - 检查是否使用@HostListener 将新类添加到指令中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41845117/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com