EDIT:
Как указал @Mathias в комментариях, следующее *ngIf
не работает:
(*ngIf="currentUsername == chat.senderUsername else elseBlock1")
Но я не могу понять, почему он не работает, потому что currentUsername и chat.senderUsername оба существуют, не равны NULL и очень похожи.
Я совсем растерялся: /
ОРИГИНАЛЬНЫЙ ПОЧТА:
Я новичок в Angular6 и часами борюсь с проблемой, в *ngFor
отображаются все мои данные, кроме имени пользователя получателя / отправителя, даже если они оба присутствуют в моем NmChatRequest
сущность.
Я пытался разместить теги ng-template вокруг тегов b, с оператором ?
или без него, например, {{chat?.senderUsername}}
на вид все и ничего не получалось. Я совершенно потерян, любая помощь будет приветствоваться.
Как вы видите в консоли, необходимые данные senderUsername
и receiverUsername
присутствуют и не равны нулю, см. Скриншот консоли разработчика:
Вот рендеринг:
Мой взгляд таков:
<ng-container *ngFor="let chat of chats">
<ion-item (click)="goToChat(chat?.id)">
<ion-avatar item-start>
<img *ngIf="currentImageUrl == chat.senderImageUrl else elseBlock" src="{{chat?.receiverImageUrl}}">
<ng-template #elseBlock>
<img src="{{chat?.senderImageUrl}}">
</ng-template>
</ion-avatar>
<h2>
<ng-template *ngIf="currentUsername == chat.senderUsername else elseBlock1">
<ng-template *ngIf="chat?.senderRead == false else elseBlock2">
<b>{{chat.receiverUsername}}</b>
</ng-template>
<ng-template #elseBlock2>{{chat.receiverUsername}}</ng-template>
</ng-template>
<ng-template #elseBlock1>
<ng-template *ngIf="chat?.receiverRead == false else elseBlock3">
<b>{{chat.senderUsername}}</b>
</ng-template>
<ng-template #elseBlock3>{{chat.senderUsername}}</ng-template>
</ng-template>
</h2>
<p>{{chat?.lastMessage}}</p>
</ion-item>
</ng-container>
Заранее спасибо всем, кто найдет время, чтобы прочитать / ответить на мой пост.