绑定到html的角推和拼接数组元素

时间:2018-11-14 16:12:56

标签: javascript html arrays angular

我有点像 this每当我点击“添加”都会添加新行。

HTML:

   <div class="tel" *ngFor="let t of tel; let i = index">
          <div class="row">
            <div class="col-md-2">
              <input type="text" class="form-control" [(ngModel)]="t.telFijo" [name]="'tfijo'+i">
            </div>
            <div class="col-md-2">
              <input type="text" class="form-control" [(ngModel)]="t.telCelular" [name]="'tcel' + i">
            </div>
            <div class="col-md-2">
              <input type="text" class="form-control" [(ngModel)]="t.anexo" [name]="'anex' + i">
            </div>
            <div class="col-md-2">
              <input type="text" class="form-control" [(ngModel)]="t.skype" [name]="'skype' + i">
            </div>
            <div id="em" class="col-md-3">
              <input type="email" class="form-control" [(ngModel)]="t.email" [name]="'email' + i">
            </div>
            <div class="col-md-1">
              <i id="trash" class="fa fa-trash" (click)="eliminar(i)"></i>
            </div>
          </div>
        </div>

每当我添加对象时,我都会推送一个对象。

  agregar() {
 const telefono = new Telefono();
this.tel.push(telefono);
}

每当我移除一个项目时,我都会将其拼接到当前位置。

 eliminar(i) {
 this.tel.splice(i, 1);
 }

那很好,问题是当我删除一行后尝试添加新行时,最后两行被删除。

In this example我有3行,删除了中间的一行,然后添加了一行。这使得上一个被删除。老实说,我不知道为什么会这样。我很想知道我是否缺少某些东西。

1 个答案:

答案 0 :(得分:1)

另外

agregar() {
  const telefono = new Telefono();
  this.tel.push(telefono);
}