如果*ngIf为真,如何调用函数?

Sai*_*tta 7 ionic2 angular

在这里ion-input,我只有item.type==2在列表中才能隐藏items

<ion-input type="text"></ion-input>

<div *ngFor="let item of items">
  <div *ngIf="item.type == 2">
    <span>The End</span>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

我该怎么办呢?

Mil*_*lad 12

<ion-input type="text"></ion-input>

<div *ngFor="let item of items">
  <div *ngIf="check(item)">
    <span>The End</span>
  </div>
</div>


export class YourCom{

   check(item){
       if(item.type == 2){

          callThatFunction();
       }

   }
}
Run Code Online (Sandbox Code Playgroud)

无论如何,这是一种更好的做法,这使您的check功能可测试,这是您的业务逻辑.

但是不要忘记,如果你调用一个以某种方式更新视图的函数,你将会从更改检测中得到一个错误,该错误检测说>"查看视图后表达式已更新"

  • 你是如何让它工作的(没有 ExpressionChagedAfterItHasBeenCheckedError)?你能解释一下吗? (2认同)