*ngIf mit mehreren asynchronen pipe Variablen

Versucht, das kombinieren von zwei observablen in einem *ngIf und zeigen Sie die Benutzeroberfläche, wenn beide emittiert.

Nehmen:

<div *ngIf="{ language: language$ | async, user: user$ | async } as userLanguage">
    <b>{{userLanguage.language}}</b> and <b>{{userLanguage.user}}</b>
</div>

Aus: Putting zwei async-Abonnements in einem Winkel *ngIf-Anweisung

Diese arbeitet so weit wie es kompiliert wird, aber in meinem Fall language$ und user$ wäre aus zwei HTTP-requests und es scheint user$ wirft runtime-Fehler, wie TypeError: _v.context.ngIf.user is undefined.

Im wesentlichen, was ich wirklich will ist (dieser funktioniert nicht):

<div *ngIf="language$ | async as language && user$ | async as user">
    <b>{{language}}</b> and <b>{{user}}</b>
</div>

Ist die beste Lösung:

  • Abonnieren in der Komponente-und Schreibzugriff auf Variablen
  • Um eine Kombination der beiden observablen in der Komponente mit sagen withLatestFrom
  • Hinzufügen null prüft {{userLanguage?.user}}
InformationsquelleAutor Phil | 2017-11-20
Schreibe einen Kommentar