字符串数组中的 Angular 双向数据绑定(bind)无法正常工作

标签 angular typescript

我的问题很简单,如何在字符串数组中正确使用ng-model?

我尝试过这个:

Component.ts

toDos: string[] =["Todo1","Todo2","Todo3"];

Component.html

<div *ngFor="let item of toDos;let index = index">
   <input [(ngModel)]="toDos[index]" placeholder="item" name="word{{index}}">
</div>

这不会产生任何错误,但是当尝试更改输入的内容时......它不起作用,它无法正常工作。

在下面的 StackBlitz 中,当您尝试编辑输入时会出现问题: StackBlitz

这应该如何完成?

非常感谢!

最佳答案

您可以使用长度等于 toDos 长度的辅助数组(count)

toDos: string[] =["Todo1","Todo2","Todo3"];
count:number[]=new Array(this.toDos.length); //An auxiliar array
click(){
   this.toDos.push("Todo4");
   //if change the length of array ToDo, we must change the array count
   this.count=new Array(this.toDos.length)
}

<!--we iterate over count array-->
<div *ngFor="let item of count;let index = index">
   <input [(ngModel)]="toDos[index]" placeholder="item" name="word{{index}}">
</div>

关于字符串数组中的 Angular 双向数据绑定(bind)无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52376943/

相关文章:

node.js - 如何从 Angular 发送https post请求?

angular - 使用 vert.x 加载静态 angular2 Web 项目

typescript - 传递接受较少参数的函数 - 如何为传递的函数强制执行相同数量的参数

angular - 如何使用 Angular 2 为不同的环境加载不同的全局 css 样式

angular - 具有自定义全宽表单控件的 ionic 标签

javascript - MatDatepicker : No provider found for DateAdapter. 您必须在应用程序根目录中导入以下模块之一:MatNativeDateModule

typescript - ngOnChange 不存储 previousValue 属性

angular - 在 Angular 2 typescript 中异步自动保存

javascript - 检查 Typescript/Javascript 中与 "true"、 "false"和 "undefined"相关的 boolean 值

javascript - 毫秒到小时格式的转换