我在Angular 2應用程序中有一種情況,我正在遍歷數組如果對於這些對象中的任何一個,「已完成」屬性設置爲false
,我想打印到視圖「是」,因爲(至少)一個對象的「已完成」等於false
- 意思是它仍然是一個活躍的旗幟。Angular 2:迭代對象數組並在視圖中打印「是」一次如果任何迭代對象返回「true」作爲檢查
但是,現在,我的模板代碼正在向視圖打印'是',每次其中一個對象的「已完成」屬性設置爲false
時返回true
。如何調整此代碼,以便只有在迭代的數組中的任何一個(或多個)對象將「已完成」屬性設置爲true時,纔會打印一次「是」?
這裏是我的代碼:
<td *ngFor="let flag of service.flags">
<ng-template *ngIf="flag?.completed === false">
<span class="standard-flag">Yes</span>
</ng-template>
</td>
我也嘗試用三元運算符,但它給了我同樣的結果:
<td *ngFor="let flag of service.flags">
<ng-template *ngIf="flag?.completed === false ? true : false"">
<span class="standard-flag">Yes</span>
</ng-template>
</td>
雖然我通常會處理在組件的邏輯,我我認爲必須有一種方法,或許還有索引,我可以在這個場合看到這一點。
我會在component.ts文件中做迭代,然後設置一個變量('this.completed')爲true,當它們中的任何一個返回true時。然後,在模板中,您可以在DOM元素上指定一個屬性來顯示「yes」:'[hidden] =「completed」':
是
'。 –我同意,通常我會在組件中執行此操作並打印到結果視圖。然而,在這種特殊情況下(因爲我不想進入),我寧願直接在視圖中處理它。我想一定有辦法做到這一點索引的某種。 – Ademo