2017-06-16 5 views
1

J'ai une condition ngClass comme ceci:angulaire - ngClass ne fonctionne pas

<div [ngClass]="{'alert alert-danger': alert.type == 0,'alert alert-success': alert.type == 1}" 

Si alert.type == 1, ma classe est alert alert-succes, mais si alert.type = 0 ma classe est alert-danger. Pourquoi la classe alert n'est pas là?

+1

Je mets votre code dans un [plnkr] rapide (http://plnkr.co/edit/jskHT5QEtAkjS5BbTKb6?p=preview) – Raven

+0

@Raven Non, cela ne fonctionne pas. Inspectez l'élément quand il est rouge, vous aurez seulement un danger d'alerte .... –

Répondre

2

Oui, cela semble être un problème, mais ce n'est pas le cas, lisez un comment for explanation. Mais vous pouvez facilement avoir une solution de contournement en prenant classe commune dans class lui-même l'attribut.

<div class="alert" 
    [ngClass]="{'alert-danger': alert.type == 0, 'alert-success': alert.type == 1}" 

Demo Plunker

+0

Wow .. cela pourrait être une fonctionnalité mais ce n'est pas très intuitif. J'ai été perplexe et ce n'est pas mentionné dans [docs] (https://angular.io/api/common/NgClass). – Raven

+0

@Raven êtes-vous allé à travers le lien de commentaire, il a expliqué vraiment bien :) Et c'était là depuis Angular 1 .. Techniquement, il a un sens pour moi comment ngClass fonctionne :) –

+0

Merci, mais ça ne marche pas –