我正在尝试使用* ngIf和else语句,但它们在Angular中无法正常工作。 我有一个对象,其中包含有关任务的详细信息,并且我有3种状态与3种类型的按钮相关联:未决,完成和尚未触摸。这意味着,前两种情况(待定和完成)是用户与它们进行交互,并且它们在数据库中,但是在第三种情况下,用户尚未与它们进行交互,并且它们不在数据库中。 所以:当状态==完成时,我有一个按钮,状态==待处理时,有1个按钮,但是第三个让我很痛苦,因为我在数据库中没有它,所以我无法检查经过一些标准。因此,我决定使用ngIf和else语句,但是它们的效果不是很好,这意味着始终显示第三个按钮,即使if语句为true,也将继续显示else。
有人可以帮我解决这个问题吗?
谢谢!
<h3 class="card-title">Misiuni</h3>
<div *ngFor="let proj of projects" id="{{proj}}">
<h4>Proiect: {{proj}}</h4>
<div class="row">
<div *ngFor="let item of missions; let indexRow = index">
<div class="ribbon-wrapper card" *ngIf="item.project==proj">
<div >
<div class="ribbon ribbon-default" ><a href="mission-details/{{ item.id }}">{{ item.title }}</a></div>
<p class="ribbon-content">{{ item.description }} </p>
<br><h4 class="card-title">Reward:</h4>
<img src="{{item.reward}}" width="250px" height="150px">
<br><h4 class="card-title">Experiență: {{item.exp}}</h4>
<div *ngIf="missionsStatus.length !== 0">
<div *ngFor="let itm of missionsStatus">
<input disabled="true" *ngIf="itm?.status == 'finished' && itm?.status != 'pending' && item.id == itm?.id_mission; else new" type="submit" class="btn btn-success btn-mission-finalize" value="Misiune finalizata" align="center">
<input disabled="true" *ngIf="itm?.status == 'pending' && itm?.status != 'finished' && item.id == itm?.id_mission; else new" type="submit" class="btn btn-warning btn-mission-pending" value="Misiune in curs" align="center">
<ng-template #new>
<input (click)="missionAccept(item?.id)" type="submit" class="btn btn-danger" value="Accepta misiunea1" align="center">
</ng-template>
</div>
</div>
<div *ngIf="missionsStatus.length == 0">
<input type="submit" (click)="missionAccept(item?.id)" class="btn btn-danger" value="Accepta misiunea" align="center">
</div>
</div>
</div>
</div>
</div>
</div>