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

如何在 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

添加回答

代码语言

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号