2017-08-08 2 views
0

Meine Frage ist wie im Titel: Was bedeutet das Zeichen ".?" bedeuten?Was bedeutet der eckige 4? Notation bedeuten?

Kann es nicht in der Dokumentation finden, deshalb bin ich hier.

[image]="(user$ | async)?.photo" 
+3

Mögliche Duplikat [Warum verwenden wir „?“ Operator in Template Bindung in eckigen 2] (https://stackoverflow.com/questions/42364184/why-we-use-operator-in-template-binding-in-angular-2) –

+0

Vielleicht nicht dupliziert, aber verwandt –

Antwort

1

Der sichere Navigationsoperator ?. wird verwendet, um eine NullPointerException zu vermeiden. Wenn Sie einen Verweis auf ein Objekt haben, müssen Sie möglicherweise überprüfen, ob es nicht null ist, bevor Sie auf Methoden oder Eigenschaften des Objekts zugreifen. Um dies zu vermeiden, gibt der sichere Navigationsoperator einfach null zurück, anstatt eine Ausnahme auszulösen.

leicht verwirrt mit dem elvis operator?:, aber das ist völlig anders und existiert nicht in JavaScript/Typoskript oder Angular Templating

1

Es heißt safe navigation oder elvis-Operator, der der Wert überprüft vorliegt

Der Angular sichere Navigation Operator (?.) Ist fließend und bequem Weise gegen null zu schützen und undefinierte Werte in Eigenschaftenpfaden. Hier ist es, Schutz vor einer Ansicht Renderfehler, wenn der Benutzer null ist.