簡體   English   中英

ngIf 可以在 Angular 1.5 中引用嵌套 ngFor 中的變量。 如何在 Angular 10 中實現相同的功能?

[英]ngIf can reference variable in nested ngFor in Angular 1.5. How to achieve the same in Angular 10?

以下代碼適用於 Angular 1.5。 <tr> 元素只有在啟用了該行鍵的 'showFields' 標志時才會呈現。

<table>
  <ng-container *ngIf="showFields[row.key]">
    <tr *ngFor="let row of rows">
      <td>{{row.key}}</td>
      <td>{{row.value}}</td>
    </tr>
  </ng-container>
</table>

請注意,來自 ngFor 的“行”變量對封閉的 ngIf 是可見的。 這不再適用於 Angular 2+,因為 ngFor 變量的 scope 現在僅限於元素。 我怎樣才能達到同樣的效果?

您可以像這樣切換ngForngIf

<table>
  <ng-container *ngFor="let row of rows">
    <tr *ngIf="showFields[row.key]">
        <td>{{row.key}}</td>
        <td>{{row.value}}</td>
    </tr>
  </ng-container>
</table>

除了使用單獨的showFields boolean 數組,您還可以考慮將新屬性 showField 添加到行 object,然后您可以簡單地檢查*ngIf="row.showField" ,這可以防止越界異常。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM