Попытка объединить две наблюдаемые в один *ngIf
и показать пользовательский интерфейс, когда оба *ngIf
.
Возьмите:
<div *ngIf="{ language: language$ | async, user: user$ | async } as userLanguage">
<b>{{userLanguage.language}}</b> and <b>{{userLanguage.user}}</b>
</div>
От: помещение двух асинхронных подписок в один оператор Angular * ngIf
Это работает, насколько это компилируется, однако в моем случае language$
и user$
будут из двух HTTP-запросов, и кажется, что user$
выдает ошибки времени выполнения, такие как TypeError: _v.context.ngIf.user is undefined
.
По сути, я действительно хочу (это не работает):
<div *ngIf="language$ | async as language && user$ | async as user">
<b>{{language}}</b> and <b>{{user}}</b>
</div>
Это лучшее решение:
- Подписаться внутри компонента и писать в переменные
- Чтобы объединить две наблюдаемые внутри компонента, скажем, с помощью
withLatestFrom
- Добавить нулевые проверки
{{userLanguage?.user}}