* ngIf和else语句不起作用

时间:2018-07-03 15:14:08

标签: angular angular-ng-if ngif

我正在尝试使用* 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>

0 个答案:

没有答案