angular - ngFor 中的动态 ngModel 不起作用
问题描述
我已经查看了如下页面
<div class="row" *ngFor="let c of conditionArray;>
<div class="col-sm-12 col-xl-2 m-b-10">
<ng-select [(ngModel)]="c.condition" placeholder="Select Condition" [ngClass]="'ng-select'" [options]="conditions" [multiple]="false"> </ng-select>
</div>
</div>
我的组件如下所示
this.frm={};
conditionArray:Array<any> =
[
{
condition:'frm.condition1',
pos:1
}
]
saveCond(){
alert(JSON.stringify(this.frm));
}
当我调用 saveCond() 方法时,它总是显示空对象。但是,如果我将我的 HTML 模型重写为 have [(ngModel)]="frm.condition1"
,那么它工作正常。我在这里做错了什么?
解决方案
我做了一个小改动,现在它工作正常!我没有传递整个模型(frm.condition1),而是将其更改为仅传递内部模型名称。如下图,
conditionArray:Array<any> =[
{
condition:'condition1',
pos:1
}
]
从我的 HTML 中,我将模型推送到“frm”对象中,
[(ngModel)]="frm[c.condition]"
现在我可以访问“frm”对象