ngClass в Angular не применяется
Я пытаюсь использовать [ngClass] в Angular и кажется, что он не применяется. Удивительный [ngStyle] для похожих стилей CSS работает. Что я здесь делаю не так? В консоли нет ошибок. Когда я проверяю инструменты разработки, классы применяются к тегу, но не в представлении браузера. Я перепробовал все разные варианты - class
, [class]
, [ngClass]
, ngClass
, Я также попробовал и className и ngClass.
Пожалуйста, найдите плунжер прилагается для справки:
https://plnkr.co/edit/ipMxdTzoHUl5YCPJSpLT?p=preview
@Component({
selector: 'aboutus',
template:`
<span class="classone classtwo">{{vari.title}}</span>
<br>
<div ngClass="['classone','classtwo']">{{vari.title}}</div>
<br>
<div [ngClass]="['classone','classtwo']">{{vari.title}}</div>
<br>
<div [className]="classdef">{{vari.title}}</div>
`,
styles: [`
.classone{
font-weight: 'normal' !important;
}
.classtwo{
font-size: '40px' !important;
}
`
]
})
export class AboutusComponent implements OnInit, OnDestroy {
vari: any = {title: 'test'}
classdef: any[] = ['classone', 'classtwo']
constructor() { }
}
2 ответа
Решение
Проблема в вашем css.
замени это
.classtwo{
font-size: '40px' !important;
}
в
.classtwo{
font-size: 40px !important;
}
// наш корневой компонент приложения
import {Component, NgModule, VERSION, OnInit, OnDestroy} from '@angular/core'
import {BrowserModule} from '@angular/platform-browser'
import {CommonModule} from '@angular/common'
@Component({
selector: 'my-app',
template:`
<span class="classone classtwo">{{vari.title}}</span>
<br>
<div ngClass="['classone','classtwo']">{{vari.title}}</div>
<br>
<div [ngClass]="['classone','classtwo']">{{vari.title}}</div>
<br>
<div [className]="classdef">{{vari.title}}</div>
`,
styles: [`
.classone{
font-weight: normal !important;
}
.classtwo{
font-size: 40px !important;
}
`
]
})
Я создаю поршень, это поможет вам
код в вашем HTML
<div>
<h2 [ngClass]='{"active":true}'>Hello {{name}}</h2>
</div>