Angular 如何使用角度渲染器2在单击的元素上设置类
我在组件的html中的span上附加了一个角度单击事件Angular 如何使用角度渲染器2在单击的元素上设置类,angular,renderer,angular-renderer2,Angular,Renderer,Angular Renderer2,我在组件的html中的span上附加了一个角度单击事件 <span (click)="doWork($event)" > Something </span> 但我无法以这种方式在span上附加类,我缺少什么吗?您可以这样做 <span (click)="doWork()" id="sp_id"> Something </span> // You can use a class if you wish 这将解决问题。您所需行为的另一种实现是使用n
<span (click)="doWork($event)" > Something </span>
但我无法以这种方式在span上附加类,我缺少什么吗?您可以这样做
<span (click)="doWork()" id="sp_id"> Something </span> // You can use a class if you wish
这将解决问题。您所需行为的另一种实现是使用
ngClass
,并在HTML中直接单击元素时添加/删除自定义类的标志
HTML:
你能在闪电战中重现你的问题吗?我无法复制你的问题,
<span (click)="doWork()" id="sp_id"> Something </span> // You can use a class if you wish
constructor(private renderer2: Renderer2) {
}
doWork() {
const span_id = this.renderer.selectRootElement('#sp_id');
this.renderer.addClass(span_id, 'spclass'); // spclass is the name of the class
}
<span [ngClass]="classAddFlag ? 'spClass' : ''" (click)="doWork()" > Something </span>
// Set the flag as component variable
classAddFlag = false;
doWork (e) {
//some operations
this.classAddFlag = !this.classAddFlag;
}