2017-07-07 197 views
-1

我试图从api收到的离子应用中实现产品类别。但同时实现相同的我碰到下面的错误离子ng-if产生错误 - 离子3

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}}代码工作正常,并返回一个值。

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

`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/[email protected]:9 
Can't bind to '*ngIf' since it isn't a known property of 'div'. "` 

我认为,这可能会发生,因为也许不是所有的对象都具有值是类别阵列。那么有没有办法确保*ng-if= "{{object?.categories[0]?.slug}} == single"条件仅在确保类别数组非空后才被检查?我们也可以在同一个div上同时拥有条件和循环吗?

+0

其* ngIf .. !!! –

+0

角度没有'ng-if'指令。你应该使用'* ngIf'而不是 – yurzui

+1

我在这里提到:https://stackoverflow.com/questions/34766128/ionic-if-else-statement-to-display-and-show-data – OshoParth

回答

3

你犯了一个错误类型应该是 “* ngIf” 而不是 “NG-IF”,

替换这一行,

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

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

问题是你正在尝试插入object?.categories[0]?.slug作为* ngIf条件中的字符串。删除大括号{{}}和您的代码将运行良好

+0

这似乎不起作用,更新了问题根据收到的错误。 – OshoParth

+0

错字!它不是“ngif”它的“ngIf”。大写“我”更具体 – Gowtham

+0

也试过大写,但问题仍然相同。 – OshoParth