Angular hasClass的角度等价物是什么?

Angular hasClass的角度等价物是什么?,angular,typescript,Angular,Typescript,尝试选择具有特定类名的元素,然后基于该类删除和添加元素使用: if (element.classList.contains('your-class-name')) { // do some stuff } 您可以使用普通JavaScript 并可以删除: element.classList.remove('your-class-name')) 用户ViewChild获取元素ref,然后在该元素ref之后执行ngDoCheck()以在运行更改检测时检查是否添加了类: export cl

尝试选择具有特定类名的元素,然后基于该类删除和添加元素使用:

if (element.classList.contains('your-class-name')) {
    // do some stuff
}
您可以使用普通JavaScript

并可以删除:

element.classList.remove('your-class-name'))

用户ViewChild获取元素ref,然后在该元素ref之后执行
ngDoCheck()
以在运行更改检测时检查是否添加了类:

export class ClassName implements DoCheck {
      @ViewChild('elementID') elementID:ElementRef;

      ngDoCheck() {
         if(elementID.nativeElement.classList.contains('class-name')) {
            //TODO something
         }
      } 
}

也许你不完全清楚角度是如何工作的?一般来说,您不需要选择元素,因为您可以使用
ngFor
循环自己生成它们。这看起来不像是角度源代码。看起来好像您正在使用
d3
来执行。。。某物我建议在DOM操作中使用Angular(通过绑定到单独的模型),而不是d3。是的,我正在尝试在Angular中使用d3,并创建一个按钮,在单击时更改图示符图标您不需要d3。您可以在HTML和Angular中执行此操作,无需d3。我收到一个错误,类型“Selection”上不存在属性“classList”。我的元素变量无法识别classList。请在问题中添加代码,以便我们了解您是如何引用DOM的。添加以澄清问题