


Comment garder les classes CSS non affectées par les contrôleurs angulaires
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 = 'active'; ...
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]"
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: 'active', false: 'inactive'}[isActive]"> Class applied !</p><script> function MySimpleCtrl() { $scope.isActive = true;
Si vous utilisez une sorte d'expression conditionnelle (c'est-à-dire bascule), vous pouvez utiliser une autre syntaxe très similaire :
ng-class="{'selected': isSelected, 'blue': isBlue}"
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!

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

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

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.

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

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 à

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)

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.

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.

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