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"
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"
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
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.
Es ist calle die sicheren Navigator Betreiber https://angular.io/guide/template-syntax#safe-navigation-operator und es ist Hauptzweck es null oder nicht definiert Objekt zuzugreifen, zu vermeiden ist, was wirklich hilfreich ist, wenn Sie mit Asynchron-Daten zu tun haben (wie in Ihrem Beispiel angegeben).
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) –
Vielleicht nicht dupliziert, aber verwandt –