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;
            }
            `
        ]
    })

https://plnkr.co/edit/acLvnOvezEFI4EXjKbVx?p=preview

Я создаю поршень, это поможет вам

код в вашем HTML

<div>
      <h2 [ngClass]='{"active":true}'>Hello {{name}}</h2>
    </div>
Другие вопросы по тегам