我必须显示两个互斥的按钮“MARK COMPLETED”和“COMPLETED”。如果任务状态为“打开”,则需要显示“标记完成”,而如果任务状态为关闭,则需要显示“完成”按钮。

<div *ngFor="#task of tasks" class="demo-updates mdl-card mdl-shadow--2dp mdl-cell mdl-cell--4-col mdl-cell--4-col-tablet mdl-cell--12-col-desktop">
    <div class="mdl-card__title mdl-card--expand mdl-color--teal-300">
    <h2 class="mdl-card__title-text">{{task.taskname}}</h2>
    </div>
    <div class="mdl-card__supporting-text mdl-color-text--grey-600">
    {{task.taskdesc}}  {{task.taskstatus}}
    </div>
    <div class="mdl-card__actions mdl-card--border">
                <a href="#" class="mdl-button mdl-js-button mdl-js-ripple-effect">{{task.assignedto}}</a>


    <a [routerLink]="['/AllTasks']" *ngIf="{{task.taskstatus}}='OPEN'" class="mdl-button mdl-js-button mdl-js-ripple-effect" (click)="onClickMark(task)">Mark Completed</a>
    <a [routerLink]="['/CompletedTasks']" *ngIf="{{task.taskstatus}}='CLOSED'" class="mdl-button mdl-js-button mdl-js-ripple-effect">Completed</a>


</div>

我尝试了*ngIf="{{task.taskstatus}}='OPEN'",但是没有用。有任何想法吗 ?

最佳答案

*已经向Angular指示它需要将值作为表达式处理。表达式中的{{}}无效。

改为使用:

*ngIf="task.taskstatus=='OPEN'"

同样,对于compairson,需要==而不是=(分配)。

关于angular - Angular2-* ngIf从Web服务获取的字符串内插值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37609105/

10-11 14:46