AngularJS if-Anweisungen?
-
11-12-2019 - |
Frage
Also lese ich das Tutorial für AngularJS durch:
Ich habe ein Array im Controller definiert und gebe verschiedene Punkte im Array zurück, indem ich aufrufe, wenn ich ng-repeat durchlaufe {{feature.name}} {{feature.description}}
Was ich nicht verstehe, ist, sagen wir, ich habe einen dritten Punkt im Array namens „Wichtigkeit“ und es ist eine Zahl von 1 bis 10.Ich möchte diese Zahl nicht im HTML-Code anzeigen, aber ich möchte dem Feature eine andere Farbe zuweisen, wenn diese „Wichtigkeits“-Zahl im Array 10 vs. 1 ist
Wie schreibe ich also eine if-Anweisung, um dies zu tun:
d.h.
<p style="**insert if statement: {{if feature.importance == 10}} color:red; {{/if}} **">{{feature.description}}</p>
Keine Ahnung, ob das stimmt, aber genau das möchte ich tun
Lösung 7
Dieser erste ist eine Richtlinie, die auswertet, ob etwas nur einmal im Dom sein sollte, und fügt der Seite keine Watch-Hörer hinzu: generasacodicetagpre.
Dieser zweite ist eine Richtlinie, die den Attributen nur einmalig auf Elemente anwendet, ohne die Zuhörer zu sehen:
d. H. generasacodicetagpre.
Natürlich können Sie dynamische Versionen verwenden, die in Winkel eingebaut sind: generasacodicetagpre.
Sie können auch die neue NG-if-if-falls von angularjs verwenden, die im Wesentlichen UI-falls ersetzt wird, wenn er vom Angularui-Team erstellt wurde. generasacodicetagpre.
Andere Tipps
Ich denke nicht, dass es generakodicetagcode-Erklärung gibt. Für Ihren Styling-Zweck kann der generationspflichtige Zweck verwendet werden. generasacodicetagpre.
if
ist auch praktisch.
- update -
werfen Sie einen Blick auf: https://stackoverflow.com/a/18021855/1238847
eckular1.2.0rc scheint ng-falls zu tragen.
eigentlich gibt es einen ternären Bediener in Winkel 1.2.0. generasacodicetagpre.
Ich denke, die Antwort muss aktualisiert werden.
Zuvor konnten Sie die ngIf-Direktive aus dem AngularUI-Projekt verwenden (Code Hier wenn Sie es immer noch herunterladen möchten), ist die schlechte Nachricht, dass es nicht mehr gepflegt wird.
Die gute Nachricht ist, dass es dem offiziellen AngularJS-Repo hinzugefügt wurde (instabiler Zweig) und wird bald im verfügbar sein stabiler.
<div ng-if="something"> Foo bar </div>
Wird das nicht einfach verbergen DIV
Element, aber entfernen Sie es auch aus dem DOM (wenn etwas falsch ist).
ng-class ist wahrscheinlich die beste Antwort auf Ihr Problem, aber Angularui hat eine "if" Richtlinie:
Suche nach: Entfernen Sie Elemente vollständig vom Dom, anstatt es einfach zu verbergen.
Ich habe "ui-if if" verwendet, um zu entscheiden, ob ich einen Datenwert als Etikett oder einen Eingang relativ zum aktuellen Monat rendern sollte: generasacodicetagpre.
In dem Fall, in dem Ihre Priorität ein Etikett wäre, können Sie einen Switch-Filter erstellen, der innerhalb der NG-Klasse verwendet wird, wie in einer vorherigen Annahme dargestellt: https://stackoverflow.com/a/8309832/1036025 (für den Switch-Filtercode) generasacodicetagpre.
Sie können auch diese Codezeile unter versuchen generasacodicetagpre.
das zeigt foo.bar, wenn is_foo true ist.
Was auch funktioniert: generasacodicetagpre.