Получение ошибки с ngIf в Angular

Я использую angular и хочу отображать данные из переменной, которая находится в форме json .Я могу сделать это для *ngfor, но также я хочу поставить условие, при котором он проверяет, является ли msg.кто= = "бот".Я делаю это, используя:

<div class="UserWrapper" *ngFor="let msg of msgs" ngIf="msg.who == 'User ">
    <div class=""></div>
        <div class = "speech-bubble1 z-depth-5"><p>{{msg.msg}}</p>
            <p class="timeRight">{{msg.time}}</p>
    </div>
 </div>

Я не знаю, как использовать ng, если другой способ, но при этом я получаю следующую ошибку.

ERROR Error: StaticInjectorError(AppModule)[NgForOf -> TemplateRef]: 
StaticInjectorError(Platform: core)[NgForOf -> TemplateRef]: 
NullInjectorError: No provider for TemplateRef!

Как я могу проверить данное условие

1 ответов


вы не можете использовать ngFor и ngIf в той же element, поэтому замените его на ng-container, также несколько ошибок, таких как *ngIf вместо ngIf и вы должны использовать === когда вы проверяете для типа

изменить ваш код следующим образом:

<ng-container *ngFor="let msg of msgs">
  <div *ngIf="msg.who === User"  class=""> 
        <div class = "speech-bubble1 z-depth-5"><p>{{msg.msg}}</p>
        <p class="timeRight">{{msg.time}}</p>
  </div>
</ng-container>