NgFor对象+为NgFor中的每个属性创建NgModel

时间:2018-10-25 02:34:13

标签: angular object ngfor ngmodel

在对象上创建ngfor时遇到问题,我的ngfor包含每个属性的ngModel

代码如下:

header

此ngModel中的预期模型字符串为> todo.title

但是属性不会绑定到相应的输入

谢谢

2 个答案:

答案 0 :(得分:0)

您不应在模板中使用 this ,按如下所示更改代码,

 <ion-item *ngIf="getObjectDataType(key) == 'String' && key != 'Description'">
              <ion-label floating>{{key}}</ion-label>
              <ion-input type="text" [(ngModel)]="['todo.' + key]"  [ngModelOptions]="{ standalone : true }"></ion-input>
 </ion-item>

答案 1 :(得分:0)

同意@Sajeetharan,我们不需要使用'this'并尝试使用'todo [key]'。

<div *ngFor="let key of objectKeys(todo)">

          <ion-item *ngIf="getObjectDataType(key) == 'String' && key != 'Description'">
              <ion-label floating>{{key}}</ion-label>
              <ion-input type="text" [(ngModel)]="todo[key]"  [ngModelOptions]="{ standalone : true }"></ion-input>
          </ion-item>

          <ion-item *ngIf="getObjectDataType(key) == 'String' && key == 'Description'">
              <ion-label floating>{{key}}</ion-label>
              <ion-textarea [(ngModel)]="todo[key]"  [ngModelOptions]="{ standalone : true }"></ion-textarea>
          </ion-item>

          <ion-item *ngIf="getObjectDataType(key) == 'Date' && key != 'Description'" 
              style="margin-top: 15px;">
              <ion-label>{{key}}</ion-label>
              <ion-datetime displayFormat="MM/DD/YYYY hh:mm A" [min]="yesterDayStr"
                 [(ngModel)]="todo[key]"  [ngModelOptions]="{ standalone : true }"></ion-datetime>
          </ion-item>

 </div>