Ich möchte das erste Zeichen der Zeichenfolge in Angularjs groß schreiben
Wie ich es benutzt {{ uppercase_expression | uppercase}}
habe, konvertiere ich den ganzen String in Großbuchstaben.
Ich möchte das erste Zeichen der Zeichenfolge in Angularjs groß schreiben
Wie ich es benutzt {{ uppercase_expression | uppercase}}
habe, konvertiere ich den ganzen String in Großbuchstaben.
Antworten:
Verwenden Sie diesen Großschreibfilter
quelle
return (angular.isString(s) && s.length > 0) ? s[0].toUpperCase() + s.substr(1).toLowerCase() : s;
. Wenn es sich nicht um eine Zeichenfolge handelt, geben Sie sie unverändert zurück.Ich würde sagen, verwenden Sie nicht angle / js, da Sie stattdessen einfach css verwenden können:
Fügen Sie in Ihrem CSS die Klasse hinzu:
Dann wickeln Sie einfach den Ausdruck (zum Beispiel) in Ihr HTML ein:
Keine js benötigt;)
quelle
:first-letter
-Selektor. Sonst noch etwas offen? :)Wenn Sie Bootstrap verwenden , können Sie einfach die
text-capitalize
Hilfsklasse hinzufügen :EDIT: nur für den Fall, dass der Link wieder stirbt:
quelle
text-transform: capitalize;
Wenn Sie Angular 4+ verwenden, können Sie einfach verwenden
titlecase
Ich muss keine Pfeifen schreiben.
quelle
ein schöner Weg
quelle
Wenn Sie nach der Leistung suchen, vermeiden Sie die Verwendung von AngularJS-Filtern, da diese zweimal pro Ausdruck angewendet werden, um ihre Stabilität zu überprüfen.
Ein besserer Weg wäre die Verwendung von CSS
::first-letter
-Pseudoelementen mittext-transform: uppercase;
. Dies kann jedoch nicht für Inline-Elemente wie verwendetspan
werden. Das nächstbeste wäre daher,text-transform: capitalize;
den gesamten Block zu verwenden, der jedes Wort groß schreibt.Beispiel:
quelle
::first-letter
nicht andisplay: inline
oderdisplay: flex
, nur andisplay:block
oderinline-block
ElementenIch mag die Antwort von @TrampGuy
CSS ist immer (naja, nicht immer) eine bessere Wahl, also:
text-transform: capitalize;
ist sicherlich der richtige Weg.Aber was ist, wenn Ihr Inhalt zunächst nur in Großbuchstaben geschrieben ist? Wenn Sie
text-transform: capitalize;
Inhalte wie "FOO BAR" anprobieren , wird weiterhin "FOO BAR" in Ihrem Display angezeigt. Um dieses Problem zutext-transform: capitalize;
umgehen, können Sie das in Ihr CSS einfügen, aber auch Ihren String in Kleinbuchstaben schreiben.wo wir die Kapitalisierungsklasse von @ TrampGuy verwenden:
Wenn Sie also so tun, als
foo.awsome_property
würde normalerweise "FOO BAR" gedruckt, wird jetzt die gewünschte "Foo Bar" gedruckt.quelle
Wenn Sie jedes Wort aus einer Zeichenfolge großschreiben möchten (in Bearbeitung -> In Bearbeitung), können Sie ein Array wie dieses verwenden.
quelle
Dies ist ein anderer Weg:
quelle
Für Angular 2 und höher können Sie verwenden
{{ abc | titlecase }}
.Überprüfen Sie die Angular.io-API auf eine vollständige Liste.
quelle
quelle
Für das AngularJS von meanjs.org platziere ich die benutzerdefinierten Filter in
modules/core/client/app/init.js
Ich brauchte einen benutzerdefinierten Filter, um jedes Wort in einem Satz groß zu schreiben. So mache ich das:
Das Guthaben der Kartenfunktion geht an @Naveen raj
quelle
In eckigem 7+ mit eingebautem Rohr
quelle
Wenn Sie keinen benutzerdefinierten Filter erstellen möchten, können Sie diesen direkt verwenden
quelle
quelle
Um meine eigene Meinung zu diesem Thema hinzuzufügen, würde ich selbst eine benutzerdefinierte Direktive verwenden.
Einmal deklariert, können Sie wie folgt in Ihr HTML einfügen.
quelle
Wenn Sie stattdessen jedes Wort eines Satzes groß schreiben möchten, können Sie diesen Code verwenden
und fügen Sie einfach den Filter "großschreiben" zu Ihrer Zeichenfolgeneingabe hinzu, z. B. - {{name | profitieren}}
quelle
In Angular 4 oder CLI können Sie eine PIPE wie folgt erstellen:
quelle
Angular hat 'titlecase', das den ersten Buchstaben in einer Zeichenfolge großschreibt
Zum Beispiel:
wird als EnvName angezeigt
Vermeiden Sie bei Verwendung mit Interpolation alle Leerzeichen wie
und der erste Wertbuchstabe von envName wird in Großbuchstaben gedruckt.
quelle
quelle
Sie können die Laufzeit der Groß- und Kleinschreibung wie folgt hinzufügen:
quelle
{{ uppercase_expression | capitaliseFirst}}
sollte arbeitenquelle
Zu Nidhishs Antwort hinzufügen:
Verwenden Sie für Personen, die AngularJs verwenden und den ersten Buchstaben jedes Wortes in der Zeichenfolge groß schreiben möchten , den folgenden Code:
quelle