2017-02-27 5 views
0

lassen nehme ich den Zugriff auf und zeigt Daten in html wie dieseFalscher Wert bei 0 mit elvis Operator in angular2

{{whole_data?.age_range ? whole_data?.age_range : '-'}} 

Jetzt Problem hier ist, wenn im Falle whole_data?.age_range-0 oder null ausgewertet wird, wird es zeigen - immer, außer Ausdruckswert nicht Null ist oder nicht null,

Meine Frage ist

  1. warum (wird Null in diesem Fall als falsch behandelt)?

  2. Was ist die Alternative für das gleiche?

PS: - Ich will nicht Bedingung verwenden, insbesondere für Wertprüfung Null ist oder nicht, da diese Syntax ich 1000 Mal in meinem Code bin mit

+0

http://stackoverflow.com/questions/19839952/all-falsey-values-in-javascript –

Antwort

3

Sie können Ihre Vorlage Ausdruck kürzer machen , aber es wird das gleiche Ergebnis haben:

{{whole_data?.age_range || '-'}} 

Es gibt keinen anderen Weg. 0 wird immer als falsch ausgewertet. Sie sollten ein Rohr verwenden doppelten Code zu verhindern:

@Pipe({ 
    name: "dashNumber" 
}) 
export class DashNumber implements PipeTransform { 

    transform(value: number): number { 
     value = parseFloat(value); 
     return isNaN(value) ? '-' : value; 
    } 

} 

Nutzung:

{{whole_data?.age_range | dashNumber}} 
+0

Dank für die Tipp @PierreDuc, aber das wird mein Problem überhaupt nicht lösen, +1 für '{{whole_data? .age_range || '-'}} ' –

+0

@PardeepJain dann, was ist dein Problem :) – PierreDuc

Verwandte Themen