为什么这不起作用,如文档中所述?
renderer.setElementClass(el, 'class1', false); // replace class
renderer.setElementClass(el, 'class2', true); // add a class
这导致元素只有 class2
而不是两者。
最佳答案
只需提及 Renderer 现在已被弃用,并已被 Renderer2 取代。在 Renderer2 类中,有两个方法替代了已弃用的渲染器的 setElementClass。
添加一个类:
renderer.addClass(this.elementRef.nativeElement, 'popup');
删除类:
renderer.removeClass(this.elementRef.nativeElement, 'popup');
有关详细信息,请参阅:https://angular.io/api/core/Renderer2
有关教程形式的代码示例,请参阅:https://www.digitalocean.com/community/tutorials/angular-using-renderer2 特别是“addClass/removeClass”部分
关于Angular2 渲染器 setElementClass isAdd 选项不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42858098/