Ионное отображение {{ data.name }} только после того, как данные будут доступны (с HTTP)

#angular #ionic-framework

#угловой #ionic-framework

Вопрос:

Я создаю приложение Ionic 4.

Я загружаю объект из своего API через HTTP, а затем показываю его в представлении.

 {{ data.name }}
 

Поскольку HTTP-запрос является асинхронным, при загрузке страницы объект данных еще не загружен, и data.name не определено, что возвращает ошибку.

Я мог бы сделать что-то вроде <span *ngIf="data">{{ data.name }}</span> этого, но это, похоже, не самое лучшее решение.

Есть ли наилучшая практика для этой ситуации?

Комментарии:

1. инициализируйте переменную, чтобы data она не была неопределенной. Или используйте безопасный оператор навигации.

2. Оберните его в html-элемент и используйте *ngIf или вы используете ? operator {{ data?.name }}

3. <span *ngIf="data">{{ data.name | async }}</span> ?

Ответ №1:

Попробуйте использовать асинхронный канал следующим образом :

 {{ data.name | async}}
 

Комментарии:

1. Насколько я понимаю, данные не являются наблюдаемыми, во всяком случае, если бы это было так — это все равно не сработало бы.