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的。添加以澄清问题