在这里,我想使用angular.js中的ngClass指令将CSS类动态添加到元素中。
<p [ngClass]="addClasses()">testing content</p>
下面是我的ts代码:
isbold: boolean = false;
isItalic: boolean = true;
addClasses() {
let classes = {
boldClass: this.isbold,
italicsClass: this.isItalic
};
return classes;
}
boldClass和italicsClass是我的css文件中的两个类,这两个类应该根据相应的布尔变量中的值来应用。但是我得到了错误,因为找不到boldClass和italicsClass的名称。感谢您的帮助。
发布于 2018-07-19 03:02:10
问题出在您的JSON上,当您声明一个JSON时,它的属性不应该带有"=",请尝试使用以下内容:
addClasses(){
let classes={
boldClass: this.isbold,
italicsClass: this.isItalic
};
return classes;
}
在this.isbold之后有一个挂起的",“,而且你有this.Italic,它应该是this.isItalic。
发布于 2018-07-19 03:00:48
这是添加动态类的一种方法
<p [class.boldClass]="isbold"
[class.italicsClass]="isItalic">testing content </p>
发布于 2018-07-19 03:04:14
尝试使用Angular的Renderer2
@ViewChild('el') element: ElementRef
constructor(private renderer: Renderer2) {
}
addClasses(classes: Array<string>){
classes.forEach(class => this.renderer.addClass(this.element.nativeElement, 'someClass'))
}
<p #el>testing content </p>
https://stackoverflow.com/questions/51409182
复制相似问题