Ich habe eine Vorlagenbindung, die ein Modellattribut namens "Datum" anzeigt, bei dem es sich um ein Datum handelt, das den Datumsfilter von Angular verwendet.
<span class="gallery-date">{{gallery.date | date:'mediumDate'}}</span>
So weit, ist es gut. Wenn im Datumsfeld jedoch kein Wert vorhanden ist, zeigt die Bindung nichts an. Ich möchte jedoch, dass die Zeichenfolge 'Various' angezeigt wird, wenn kein Datum vorhanden ist.
Ich kann die grundlegende Logik mit einem binären Operator erhalten:
<span class="gallery-date">{{gallery.date || 'Various'}}</span>
Ich kann es jedoch nicht mit dem Datumsfilter zum Laufen bringen:
<span class="gallery-date">{{gallery.date | date:'mediumDate' || "Various"}}</span>
Wie kann ich den Binäroperator neben dem Datumsfilter verwenden?
{{(gallery.date | date:'mediumDate') || "0"}}
Ich habe folgenden Filter gemacht:
So zu verwenden:
quelle
if (angular.isUndefined(defaultValue) || ... )
Anweisung in die vorhandene, durch die derdefString
Filter die Zeichenfolge "default
" zurückgibt (andere werden wahrscheinlich später kommen). Dies ermöglicht es mir, es als<span>{{expected.string | defString}}</span>
unddefault
als endgültiges Fallback-Level zu verwenden.Nur für den Fall, dass Sie etwas anderes ausprobieren möchten. Das hat bei mir funktioniert:
Basierend auf dem ternären Operator mit folgender Struktur:
Als Ergebnis:
quelle
Wie kann ich den Binäroperator neben dem Datumsfilter verwenden?
Sie versuchen auch:
quelle
Diese Antwort hat mir sehr gut gefallen. Mit ngBind kann Ihr Standardtext nur im Elementkörper gespeichert werden. Wenn ngBind dann als nicht null / undefiniert ausgewertet wird, wird Ihr Inhalt automatisch ersetzt und alles ist glücklich
anglejs legt Standardwerte fest, die vor der Auswertung angezeigt werden sollen
quelle
In Ihrem cshtml,
In Ihrer JS-Datei möglicherweise app.js,
Fügen Sie außerhalb von app.controller den folgenden Filter hinzu.
Hier ist das "mydate" die Funktion, die Sie zum Parsen des Datums aufrufen. Hier ist die "App" die Variable, die das angle.module enthält
quelle