【问题标题】:Angular 4 array of stringsAngular 4字符串数组
【发布时间】:2017-12-01 00:19:44
【问题描述】:

我正在使用反应形式, 我有 2 个问题: 我想使用一个字符串数组作为用户可以直接更改的输入,我有一个这样的数据模型

export class Work {
    toDos: string[];  
}

Q1:是否可以将输入直接绑定到基元数组,还是应该在具有属性名称的对象数组中转换为 Dos,并始终使用控件?

第二季度: 我尝试了几个想法,但我找不到一个简单的方法让它工作:

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

 <button (click)="addItem()" type="button">Add an 
Item</button>
<div *ngFor="let item of toDos">
  <label>{{item}}</label>
</div>

在component.ts中

toDos: string[] =["Todo1","Todo2","Todo3"];
trackByIndex(index: number, obj: any): any {
   return index;
 }
 addItem() {
   this.toDos.push('0');
 }

添加功能正常,但输入未绑定,我没有收到任何错误, 我可以更改输入的值,但它不会反映在 {{item}}

【问题讨论】:

  • 我发现它为什么不工作,它不工作,因为它在一个
    我真的不知道为什么。现在可以了,谢谢,我仍然很想知道始终使用对象数组而不是基元数组是否是最佳实践,以及在输入中使用带有 formControlName 而不是 ngModel 的控制器是否更好

标签: angular input ngfor


【解决方案1】:

如下创建一个简单数组:

yourArray= new Array();

您可以使用数组的推送功能轻松添加元素,如下所示:

yourArray.push(data);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多