Je veux mettre en majuscule le premier caractère de la chaîne dans angularjs
Comme je l'ai utilisé {{ uppercase_expression | uppercase}}
, convertissez toute la chaîne en majuscules.
Je veux mettre en majuscule le premier caractère de la chaîne dans angularjs
Comme je l'ai utilisé {{ uppercase_expression | uppercase}}
, convertissez toute la chaîne en majuscules.
Réponses:
utiliser ce filtre de capitalisation
la source
return (angular.isString(s) && s.length > 0) ? s[0].toUpperCase() + s.substr(1).toLowerCase() : s;
. Si ce n'est pas une chaîne, renvoyez-la inchangée.Je dirais de ne pas utiliser angular / js car vous pouvez simplement utiliser css à la place:
Dans votre css, ajoutez la classe:
Ensuite, enveloppez simplement l'expression (par exemple) dans votre html:
Aucun js nécessaire;)
la source
:first-letter
pseudo-élément. Reste-t-il autre chose à découvert? :)Si vous utilisez Bootstrap , vous pouvez simplement ajouter la
text-capitalize
classe d'assistance:EDIT: juste au cas où le lien meurt à nouveau:
la source
text-transform: capitalize;
Si vous utilisez Angular 4+, vous pouvez simplement utiliser
titlecase
pas besoin d'écrire des tuyaux.
la source
une meilleure façon
la source
Si vous recherchez des performances, essayez d'éviter d'utiliser les filtres AngularJS car ils sont appliqués deux fois par expression pour vérifier leur stabilité.
Une meilleure façon serait d'utiliser un
::first-letter
pseudo-élément CSS avectext-transform: uppercase;
. Cela ne peut pas être utilisé sur des éléments en ligne tels quespan
, cependant, la meilleure chose à faire serait d'utilisertext-transform: capitalize;
sur tout le bloc, qui met en majuscule chaque mot.Exemple:
la source
::first-letter
ne fonctionne pas surdisplay: inline
oudisplay: flex
, uniquement surdisplay:block
ouinline-block
élémentsJ'aime la réponse de @TrampGuy
CSS est toujours (enfin, pas toujours) un meilleur choix, donc:
text-transform: capitalize;
est certainement la voie à suivre.Mais que faire si votre contenu est tout en majuscules pour commencer? Si vous essayez un
text-transform: capitalize;
contenu comme "FOO BAR", vous obtiendrez toujours "FOO BAR" sur votre écran. Pour contourner ce problème, vous pouvez mettre letext-transform: capitalize;
dans votre css, mais aussi minuscule votre chaîne, donc:où nous utilisons la classe capitalize de @ TrampGuy:
Donc, en prétendant que
foo.awsome_property
cela afficherait normalement "FOO BAR", il imprimera maintenant le "Foo Bar" souhaité.la source
si vous voulez mettre en majuscule chaque mot de la chaîne (en cours -> En cours), vous pouvez utiliser un tableau comme celui-ci.
la source
C'est une autre façon:
la source
Pour Angular 2 et plus, vous pouvez utiliser
{{ abc | titlecase }}
.Vérifiez l' API Angular.io pour la liste complète.
la source
la source
Pour AngularJS de meanjs.org, je place les filtres personnalisés dans
modules/core/client/app/init.js
J'avais besoin d'un filtre personnalisé pour mettre en majuscule chaque mot d'une phrase, voici comment procéder:
Le mérite de la fonction de carte revient à @Naveen raj
la source
En angular 7+ qui a un tuyau intégré
la source
Si vous ne souhaitez pas créer de filtre personnalisé, vous pouvez utiliser directement
la source
la source
Pour ajouter ma propre opinion sur cette question, j'utiliserais moi-même une directive personnalisée;
Une fois déclaré, vous pouvez le placer dans votre Html comme ci-dessous;
la source
Au lieu de cela, si vous souhaitez mettre en majuscule chaque mot d'une phrase, vous pouvez utiliser ce code
et ajoutez simplement le filtre "capitalize" à votre entrée de chaîne, par exemple - {{nom | capitaliser}}
la source
dans Angular 4 ou CLI, vous pouvez créer un PIPE comme celui-ci:
la source
Angular a 'titlecase' qui met en majuscule la première lettre d'une chaîne
Par exemple:
sera affiché comme EnvName
Lorsqu'il est utilisé avec l'interpolation, évitez tous les espaces comme
et la première lettre de valeur d'envName sera imprimée en majuscules.
la source
la source
Vous pouvez ajouter une majuscule à l'exécution de la fonctionnalité comme suit:
la source
{{ uppercase_expression | capitaliseFirst}}
devrait marcherla source
Ajoutant à la réponse de Nidhish,
Pour les personnes que vous utilisez AngularJs et qui cherchent à mettre en majuscule la première lettre de chaque mot de la chaîne, utilisez le code ci-dessous:
la source