Angular-indexOf JS无法处理*ngIf



我有以下HTML代码,使用Angular。在显示文件之前,我需要检查mimetype,具体显示图像和pdf。

我试试这个:

<span *ngFor='let media of tabMedia; let ind = index'>
<span *ngIf="media['mimetype'].indexOf('image') > -1">
<div class="col-lg-3 col-md-4 col-6">
<a (click)="openModal('image_' + ind)" style="cursor: pointer">
<img [id]="'image_' + ind" class="img-fluid img-thumbnail" [src]="'data:' + media['mimetype'] + ';base64,' + media.file" alt="">
</a>
</div>
</span>
</span>

但我有以下错误:

ERROR TypeError: "_v.context.$implicit.mimetype.indexOf is not a function"

我也尝试了media['mimetype'].includes('image'),我有相同的错误

如何检查mime类型并为每个mime类型显示不同的HTML?

感谢

喜欢这样。

<span *ngIf="checkMime()">
<div class="col-lg-3 col-md-4 col-6">
<a (click)="openModal('image_' + ind)" style="cursor: pointer">
<img [id]="'image_' + ind" class="img-fluid img-thumbnail" [src]="'data:' + media['mimetype'] + ';base64,' + media.file" alt="">
</a>
</div>
</span>

然后在组件中

checkMime(){
return media['mimetype'].indexOf('image') > -1;
}

如果你有疑问,请告诉我。

最新更新