我正在使用角度,我想显示来自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!
如何检查给定条件
答案 0 :(得分:10)
您不能在同一 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>