Ionic ng-if 生成错误 - ionic 3

Ionic ng-if generates error - ionic 3

我正在尝试实施从 api 收到的离子应用程序中的产品类别。但是在实现相同的过程中我得到了以下错误

Error: Template parse errors:
Can't bind to 'ng-if' since it isn't a known property of 'div'."

代码如下:

  <div class="width50" *ngFor="let object of dataList">
    <div *ng-if= "{{object?.categories[0]?.slug}} == single">
    <img src="{{object.images[0].src}}" width="150"  (click)="navigateToPage(object.id)" />
    </div>
  </div>

当我打印 {{object?.categories[0]?.slug}} 的值时,代码工作正常并返回单个。

在 *ng-if 上使用 *ngif 似乎也不起作用,它显示以下错误。

`Template parse errors:
TypeError: key[0] is undefined ("
<ion-content padding>
  <div class="width50" *ngFor="let object of dataList">
    <div [ERROR ->]*ngIf= "{{object?.categories[0]?.slug}} == single">
    <img src="{{object.images[0].src}}" width="15"): ng:///AppModule/SinglePage.html@21:9
Can't bind to '*ngIf' since it isn't a known property of 'div'. "`

我相信这可能会发生,因为可能并非所有对象都有值是类别数组。那么有没有办法保证只有在保证类别数组非空的情况下才检查*ng-if= "{{object?.categories[0]?.slug}} == single"条件呢?我们也可以在同一个 div 上同时拥有条件和循环吗?

你打错了,应该是 "*ngIf" 而不是 "ng-if",

替换这一行,

<div *ng-if= "{{object?.categories[0]?.slug}} == single">

<div *ngIf= "object?.categories[0]?.slug == single">

问题是您试图将 object?.categories[0]?.slug 作为字符串插入到您的 *ngIf 条件中。删除花括号 {{}},您的代码将 运行 正常