首页 > 解决方案 > 如何从 *ngIf 指令中启动函数?

问题描述

我是 Angular 的新手。

当不满足*ngIf=某些条件时,如何从指令中启动函数?

请注意,在我的代码中,如果 a可用,第一个 *ngIf 会成功显示一条{{tab1TrxMessage}}消息。tab1TrxMessage

<div (click)="clearForm(1)" *ngIf="tab1TrxId" class="sign-btn text-center fixedNotification" style="margin-top: 20px">
    <a class="btn btn-lg text-white" [ngClass]="trx1Btn">
       <span *ngIf="tab1TrxMessage">{{tab1TrxMessage}}</span>
       <span *ngIf="!tab1TrxMessage && tab1TrxStatus != 'Success'" "testing123()">Failed</span>
    </a>
</div>

但是,在第二个*ngIf指令中,如果没有tab1TrxMessage 消息并且tab1TrxStatus 状态不是 satus Success,我希望testing123()启动此功能!

任何人都可以帮助我了解如何实现这一目标,因为当前不起作用。

以下是.ts文件内容:

testing123(){
    console.log("Testing if this works!")
}

标签: javascriptangularangular-ng-if

解决方案


将其移至方法

messageFailed() {
  if(!this.tab1TrxMessage && this.tab1TrxStatus != 'Success') {
    this.testing123();
    return true;
  }

  return false;
}

并在模板条件下调用方法

<span *ngIf="messageFailed()">Failed</span>

推荐阅读