2 回答

TA貢獻1828條經(jīng)驗 獲得超6個贊
您必須使用一個對象將“已檢查”屬性鏈接到數(shù)組。
此外,如果條件為假,您應(yīng)該使用<ng-container>它以便不生成任何 HTML。
<!-- HTML -->
<ng-container *ngFor="let item of some">
<div *ngIf="item.condition">
{{item.name}}
</div>
</ng-container>
<select [(ngModel)]="myFakeForm.check">
<option [value]="true">true</option>
<option [value]="false">false</option>
</select>
// TS
public myFakeForm = { check: true }
public some = [
{name: 'ABC', condition: true},
{name: 'def', condition: this.myFakeForm.check},
{name: 'GHI', condition: true}
];

TA貢獻2019條經(jīng)驗 獲得超9個贊
您應(yīng)該對模板中解析的字段使用公共訪問權(quán)限
this.check
作為值而不是對組件字段的引用傳遞 - 這就是它在下拉選擇中沒有改變的原因。
所以為了解決這個問題,你必須以某種方式通過引用傳遞“檢查”標志。例如,您可以將檢查從布爾值更改為某個對象: check = {value: boolean = true};
或者考慮更通用的方法:)
添加回答
舉報