Javascript 如何实现迭代、数组填充的角度2输入?
我希望能够按顺序添加/删除项目,并将它们聚合到要发送到后端的数组中。数据如下所示:Javascript 如何实现迭代、数组填充的角度2输入?,javascript,angularjs,angular,ngmodel,Javascript,Angularjs,Angular,Ngmodel,我希望能够按顺序添加/删除项目,并将它们聚合到要发送到后端的数组中。数据如下所示: 顾客姓名:比利 订单:[比萨饼、汉堡、寿司] 找不到任何进入迭代输入绑定的SO答案或文档。有人试图这样做吗?模板代码: <div> <input type="text" name="name" title="name" placeholder="Customer Name" [(ngModel)]="customerName"/>
- 顾客姓名:比利
- 订单:[比萨饼、汉堡、寿司]
<div>
<input
type="text"
name="name"
title="name"
placeholder="Customer Name"
[(ngModel)]="customerName"/>
</div>
<div *ngFor="let item of itemsInNewOrder; let i = index">
<input
type="text"
name="order"
title="order"
[(ngModel)]="itemsInNewOrder[index]"/>
</div>
我看到一个问题。您应该使用在模板中声明的变量i
<div *ngFor="let item of itemsInNewOrder; let i = index">
<input
type="text"
name="order"
title="order"
[(ngModel)]="itemsInNewOrder[i]"/> <------ HERE
</div>
模板:
<div *ngFor="let item of itemsInNewOrder; let i = index">
<input
type="text"
name="order"
title="order"
[(ngModel)]="itemsInNewOrder[i].value"/>
</div>
我发现了一个问题。您应该使用在模板中声明的变量i
<div *ngFor="let item of itemsInNewOrder; let i = index">
<input
type="text"
name="order"
title="order"
[(ngModel)]="itemsInNewOrder[i]"/> <------ HERE
</div>
模板:
<div *ngFor="let item of itemsInNewOrder; let i = index">
<input
type="text"
name="order"
title="order"
[(ngModel)]="itemsInNewOrder[i].value"/>
</div>
D'oh!这起了作用,并产生了一个新问题。数据按预期输入,但是,现在每次在添加的字段中输入字符时,都会取消选择该字段,需要单击返回该字段。有什么想法吗?我想angular会进行一些更改检测,并在这个过程中再次以新的值呈现输入。答案就在ngforms中,有一个专门处理这些内容的库:D'oh!这起了作用,并产生了一个新问题。数据按预期输入,但是,现在每次在添加的字段中输入字符时,都会取消选择该字段,需要单击返回该字段。有什么想法吗?我想angular会进行一些更改检测,并在这个过程中使用新值再次呈现输入。答案在于ngforms,有一个专门处理这些内容的库: