为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 Angular 9 中使用 2 路绑定

如何在 Angular 9 中使用 2 路绑定

幕布斯7119047 2023-10-24 19:45:24
我试图将数组的每个项目绑定到文本框的[(ngModel)] 。组件.ts arr:string[] = ["",""];component.html [第一种方法]    <div class="row" *ngFor="let item of arr;">      <div class="col-12">        <input type="text" [(ngModel)]="item">      </div>    </div>第一种方法引发错误,它在角度 7 中工作正常: 无法使用变量“item”作为赋值表达式的左侧。模板变量是只读的。component.html [第二种方法]    <div class="row" *ngFor="let item of arr; let i = index">      <div class="col-12">        <input type="text" [(ngModel)]="arr[i]">      </div>    </div> 第二种方法有效,但输入:输入单个字母后文本框失去焦点。有人能为我提供针对类似场景的完美方法吗?
查看完整描述

1 回答

?
MMTTMM

TA贡献1869条经验 获得超4个赞

使用轨迹


在组件中:


trackByFn(index: any, item: any) {

    return index;

  }

在html中:


<div class="row" *ngFor="let item of arr; let i = index ; trackBy:trackByFn">

      <div class="col-12">

        <input type="text" [(ngModel)]="arr[i]">

      </div>

    </div> 

stackblitz 演示链接: https://stackblitz.com/edit/angular-cwyrs9

如果不起作用,请告诉我



查看完整回答
反对 回复 2023-10-24
  • 1 回答
  • 0 关注
  • 93 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信