【发布时间】:2018-08-05 08:18:10
【问题描述】:
我查看了如下页面
<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 模型重写为具有 [(ngModel)]="frm.condition1" ,那么它工作正常。我在这里做错了什么??
【问题讨论】:
-
除了
this.frm={}之外,你没有设置this.frm,所以它总是一个空对象 -
如果我能够正确理解您,您不能将动态值绑定到 ngModel。您可能可以使用
(change)事件来传递对象c,然后动态访问/为所需字段分配值。 -
是的,我想是的。做了一个小改动,现在可以工作了。我会把它作为答案发布
-
我认为你应该考虑反应式 formArray 更好的方法 imo angular.io/api/forms/FormArray - 一个简单的例子 alligator.io/angular/reactive-forms-formarray-dynamic-fields
-
您不能将动态值绑定到 ngModel
标签: angular angular6 ngfor ngmodel