Angular2 - 从Web服务获取的字符串插值的*ngIf

use*_*794 16 angular

我必须显示两个互斥的按钮'MARK COMPLETED'和'COMPLETED'.如果任务状态为OPEN,则需要显示"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>    
Run Code Online (Sandbox Code Playgroud)

我试过了*ngIf="{{task.taskstatus}}='OPEN'",但它不起作用.有任何想法吗 ?

Gün*_*uer 54

*已经向Angular表明它需要将值作为表达式处理.{{}}在表达式中无效.

改为使用:

*ngIf="task.taskstatus=='OPEN'"
Run Code Online (Sandbox Code Playgroud)

另外,对于compairson ==而不是=(赋值)是必需的.