为什么警报框显示两次?

时间:2019-04-22 06:28:47

标签: angular typescript

每当我运行此代码时,警报框就会弹出两次

<p *ngIf="serverCreated;else noServer">{{alertBox(Success)}}</p>

<ng-template #noServer>
   <p>{{alertBox(Failed)}}</p>
</ng-template>

3 个答案:

答案 0 :(得分:0)

您可以像这样更改html代码

<p *ngIf="serverCreated===true;then serverCreated===false">{{alertBox(Success)}}</p>
<ng-template #noServer>
   <p>{{alertBox(Failed)}}</p>
</ng-template>

并在.ts文件中设置serverCreated属性Nullable<boolean>

serverCreated? = null;

,当您想要成功警报时,可以设置createdServer=true

答案 1 :(得分:0)

在编写ifelse之前,只需检查是否创建了serverCreated参数,这样我们就看不到两次警告框

<span *ngIf="serverCreated===true">
    <p *ngIf="serverCreated;else noServer">
     {{alertBox(Success)}}
    </p>
</span>

<ng-template #noServer>
       <p>{{alertBox(Failed)}}</p>
</ng-template>

答案 2 :(得分:0)

其他应位于* ngIf指令内。查看下面的示例以了解详细信息

isEnabled

您的代码应为

<div class="lessons-list" *ngIf="lessons else loading">
  ... 
</div>

<ng-template #loading>
    <div>Loading...</div>
</ng-template>

希望有帮助