Maison > interface Web > js tutoriel > Comment utiliser correctement « ngClass » pour le style conditionnel en angulaire ?

Comment utiliser correctement « ngClass » pour le style conditionnel en angulaire ?

Barbara Streisand
Libérer: 2024-12-27 17:56:15
original
789 Les gens l'ont consulté

How to Correctly Use `ngClass` for Conditional Styling in Angular?

Classe conditionnelle avec *ngClass dans Angular

L'une des exigences courantes dans les applications angulaires est d'appliquer des classes de manière conditionnelle en fonction de certaines conditions. La directive ngClass fournit un moyen pratique d'y parvenir.

Problème rencontré

Vous pouvez rencontrer une erreur telle que "Impossible de lire la propriété 'supprimer' d'undéfini" lors de l'utilisation de ngClass d'une manière particulière. Cette erreur indique une utilisation incorrecte de la directive.

Utilisation correcte de ngClass dans Angular 2

Angular 2 et supérieur offre plusieurs options pour appliquer des classes conditionnelles :

Option 1 :

[class.my_class] = "step === 'step1'"
Copier après la connexion

Cette syntaxe ajoute le Classe 'my_class' uniquement si la variable 'step' est égale à 'step1'.

Option 2 :

[ngClass] = "{'my_class': step === 'step1'}"
Copier après la connexion

Cette option utilise un littéral d'objet pour spécifier la condition et la classe correspondante à appliquer.

Option 3 :

[ngClass] = "{'1' : 'my_class1', '2' : 'my_class2', '3' : 'my_class4'}[step]"
Copier après la connexion

Cette méthode utilise une recherche de hachage pour appliquer la classe appropriée en fonction de la valeur de la variable « étape ».

Option 4 :

[ngClass] = "step == 'step1' ? 'my_class1' : 'my_class2'"
Copier après la connexion

Cette syntaxe utilise l'opérateur ternaire pour définir conditionnellement la classe en fonction de « l'étape » variable.

Exemple

Dans votre code, vous avez indiqué utiliser ngClass={active: step==='step1'}, ce qui n'est pas la syntaxe correcte. Utilisez plutôt l’une des options décrites ci-dessus. Par exemple :

<ol>
  <li [ngClass]="{'active': step==='step1'}" (click)="step='step1'">Step1</li>
  <li [ngClass]="{'active': step==='step2'}" (click)="step='step2'">Step2</li>
  <li [ngClass]="{'active': step==='step3'}" (click)="step='step3'">Step3</li>
</ol>
Copier après la connexion

L'adoption de l'une de ces approches alternatives devrait résoudre l'erreur que vous rencontrez. Reportez-vous à la documentation angulaire pour plus de détails.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal