在Angular中使用ngIf获取错误

前端之家收集整理的这篇文章主要介绍了在Angular中使用ngIf获取错误前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用角度,我想显示来自json形式的变量的数据
我能够为* ngfor做这件事,但我也想提出一个检查msg.who ==“Bot”的条件.我是这样做的:
<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!

我该如何检查给定的条件

你不能在同一元素上使用ngFor和ngIf,所以用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>

猜你在找的Angularjs相关文章