Maison interface Web tutoriel CSS Comment garder les classes CSS non affectées par les contrôleurs angulaires

Comment garder les classes CSS non affectées par les contrôleurs angulaires

Nov 06, 2018 pm 03:26 PM

Dans Angular (et en général), je suis un grand fan du maintien de la logique de vue en dehors de mes contrôleurs, et là où je pense que cela n'arrive pas, c'est avec l'utilisation des classes CSS et de la classe ng.

Vous n'êtes peut-être pas familier avec ng-class, c'est une directive spéciale qui permet de lier des expressions et de les placer en tant que classes d'éléments. Une utilisation très courante de ng-class ressemble à ceci :

<p ng-class="{{active}}">Class applied!</p><script>
    function MySimpleCtrl() {
        $scope.active = &#39;active&#39;;
        ...
Copier après la connexion

Donc, dans le contrôleur, nous définissons la classe spécifique qui doit être affichée ; Donc, en supposant que nous avons une classe "inactive", nous définissons simplement la classe. Variable $ scope.active sur "inactive", nous définissons finalement la classe dans la vue.

Mais ng-class est encore mieux que ça :

ng-class accepte trois types de valeurs différents :

1. Valeur de chaîne (nom de la classe)

.

2. Tableau de chaînes (classe à appliquer)

3. Objet + expression à évaluer

La syntaxe de l'option 3 ressemble à ceci

ng-class="{object of key/value pairs}[expression to evaluate]"
Copier après la connexion

Fondamentalement, ng-class évalue l'expression (entre crochets) puis l'utilise comme clé pour l'objet, la valeur associée à la clé est la classe appliquée ;

Cela nous permet de convertir la valeur $scope.active en un vrai booléen (c'est exactement ainsi que nous l'utilisons) - sans logique d'affichage dans le contrôleur, le contrôleur est plus facile à tester et peut être réutilisé.

Voici un exemple simple :

<p ng-class="{true: &#39;active&#39;, false: &#39;inactive&#39;}[isActive]">
    Class applied
!</p><script>
    function MySimpleCtrl() {
        $scope.isActive = true;
Copier après la connexion

Si vous utilisez une sorte d'expression conditionnelle (c'est-à-dire bascule), vous pouvez utiliser une autre syntaxe très similaire :

ng-class="{&#39;selected&#39;: isSelected, &#39;blue&#39;: isBlue}"
Copier après la connexion

Ici, si selected est vrai, la classe sélectionnée sera appliquée, tout comme la classe bleue. Angular appliquera autant de réalisme que possible, vous pourrez donc définir les classes sur sélectionnées et bleues.

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!

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Travailler avec GraphQL Caching Travailler avec GraphQL Caching Mar 19, 2025 am 09:36 AM

Si vous avez récemment commencé à travailler avec GraphQL ou examiné ses avantages et ses inconvénients, vous avez sans aucun doute entendu des choses comme "GraphQL ne prend pas en charge la mise en cache" ou

Faire votre première transition Svelte personnalisée Faire votre première transition Svelte personnalisée Mar 15, 2025 am 11:08 AM

L'API de transition Svelte fournit un moyen d'animer les composants lorsqu'ils entrent ou quittent le document, y compris les transitions Svelte personnalisées.

Construire une application Ethereum à l'aide de Redwood.js et de la faune Construire une application Ethereum à l'aide de Redwood.js et de la faune Mar 28, 2025 am 09:18 AM

Avec la récente montée du prix du bitcoin sur 20k $ USD, et pour lui, récemment en train de briser 30k, je pensais que cela valait la peine de reprendre une profonde plongeon dans la création d'Ethereum

Show, ne dit pas Show, ne dit pas Mar 16, 2025 am 11:49 AM

Combien de temps passez-vous à concevoir la présentation de contenu pour vos sites Web? Lorsque vous écrivez un nouveau blog ou créez une nouvelle page, pensez-vous à

Comment utilisez-vous CSS pour créer des effets de texte, tels que des ombres de texte et des gradients? Comment utilisez-vous CSS pour créer des effets de texte, tels que des ombres de texte et des gradients? Mar 14, 2025 am 11:10 AM

L'article discute de l'utilisation de CSS pour les effets de texte comme les ombres et les gradients, les optimiser pour les performances et l'amélioration de l'expérience utilisateur. Il répertorie également les ressources pour les débutants (159 caractères)

Créer votre propre bragdoc avec Eleventy Créer votre propre bragdoc avec Eleventy Mar 18, 2025 am 11:23 AM

Quelle que soit le stade dans lequel vous vous trouvez en tant que développeur, les tâches que nous effectuons - qu'elles soient grandes ou petites - ont un impact énorme dans notre croissance personnelle et professionnelle.

Que diable sont les commandes NPM? Que diable sont les commandes NPM? Mar 15, 2025 am 11:36 AM

Les commandes NPM exécutent diverses tâches pour vous, soit en tant que processus unique ou en cours d'exécution pour des choses comme le démarrage d'un serveur ou la compilation de code.

Un peu sur CI / CD Un peu sur CI / CD Apr 02, 2025 pm 06:21 PM

Je dirais que "Site Web" correspond mieux que "Application mobile" mais j'aime ce cadrage de Max Lynch:

See all articles