Angular2点击和ngIF

时间:2016-12-13 10:10:49

标签: angular

我希望仅在(click)具有值ngIF时使用True函数。

<tbody class="table-hover domains">
    <tr *ngFor="let domain of domains" (click)="gotoDetail(domain.id)">
        <td class="col-md-3">{{ domain.name }}</td>
        <td>{{ domain.validated }}</td>
    </tr>
</tbody>

所以我需要在ngIF标记中添加<tr>,好像{{ domain.validated }}值为True,然后(click)函数有效,否则它不起作用或显示变量具有值False的消息。怎么做?

4 个答案:

答案 0 :(得分:6)

尝试使用:

<tbody class="table-hover domains">
  <tr *ngFor="let domain of domains" (click)="!domain.validated || gotoDetail(domain.id)">
  <td class="col-md-3">{{ domain.name }}</td>
  <td>{{ domain.validated }}</td>
  </tr>
</tbody>

希望它对你有用。

只有在第一部分(!domain.validated)返回false时才会调用该函数。

答案 1 :(得分:2)

您可以向goToDetail函数提供第二个参数Boolean,并仅在用户为真时重定向。

答案 2 :(得分:0)

试试这个:

<tbody class="table-hover domains">
  <template ngFor let-domain [ngForOf]="domains ">
  <tr *ngIf="domain.validated" (click)="gotoDetail(domain.id)">
    <td class="col-md-3">{{ domain.name }}</td>
    <td>{{ domain.validated }}</td>
  </tr>
  </template>
</tbody>

您也可以使用ng-template

答案 3 :(得分:0)

您可以像这样定义您的功能:

gotoDetail(id: number){
    if (this.domain.validated)
    // Your normal code
    else 
    // Display error message, Do nothing
}