typescript - 如何通过 angular2 中的渲染器(或替代)获取类属性

标签 typescript angular

我在 angular2 中找到了 nativeElement.classList.add() 的替代方法。 (此处描述的原始问题:looking for nativeElement.classList.add() alternative)

但现在我想在渲染新属性之前获取类属性。 因为如果颜色值发生变化,则会添加一个新类,但不会删除旧类。

所以我在努力解决

<button md-button color="accent" class="myClass"></button>

<button md-button color="accent" class="myClass md-accent"></button>

当颜色属性更改为警告时,它应该呈现

<button md-button color="warn" class="myClass md-warn"></button>

现在它呈现

<button md-button color="warn" class="myClass md-accent md-warn"></button>

所以我尝试做的是:在更新 this.color_ 之前,删除 md-this.color_ 类。

@Input()
set color(value: string) {
    // READ CLASS ATTRIBUTE HERE, SO I CAN REMOVE THE OLD md-this.color_
    this.color_ = value;

    this.renderer.setElementClass(this.elementRef, 'md-' + this.color_, true);
}

通过 nativeElement 获取属性不是一个选项,因为这在 webworkers 中不起作用。

有什么想法吗?

最佳答案

我想你只需要盲目地删除它

this.renderer.setElementClass(this.elementRef.nativeElement, 'md-' + this.color_, false);

关于typescript - 如何通过 angular2 中的渲染器(或替代)获取类属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35653039/

相关文章:

typescript - 如何在 TS 中输入装饰器

javascript - 元组类型的问题

html - Angular 2+ Animation-改变 body 元素的颜色

javascript - Angular:添加额外的 js 时未捕获语法错误

angular - 使用 Angular Material 表对列进行分组

html - 带有 Z-Index 和下拉列表的 CSS 垂直导航问题

javascript - 强制输入值( Angular )

reactjs - 如何在 Material-UI 中扩展 OverridableComponent 接口(interface)

javascript - 异步函数返回 promise ,但调用函数未解析

javascript - Angular 2 测试版即 10 "Potentially unhandled rejection [3] SyntaxError: Expected"