填充输入字段

时间:2017-04-30 12:21:47

标签: angular loops data-binding ngfor 2-way-object-databinding

我尝试让用户重命名字段并在整个应用中填充数据。我有这段代码:

<label>Constraint titles: </label>
<li *ngFor="let slider of twodsliders">
  <input [(ngModel)]="slider.name" name="consname" type="text" size="30" placeholder="Max Frogs"><br>
</li>

使用此模拟数据:

const TWODSLIDERS: TwoDSlider[] = [
  { id: 1, name: 'Unknowability Bounderies', max_value: 89, min_value: 22 },
  { id: 2, name: 'Acceptable Throwing Distance', max_value: 67, min_value: 11 }
];

这在app组件中:

twodsliders = TWODSLIDERS;

虽然数据绑定到正确的值,因此更改第一个输入值会更改第一个模型上的值,而更改第二个值中的值会更改第二个值,等等,首次填充数据时会出现问题。也就是说,输入框最初都包含值“可接受的投掷距离”。这里出了什么问题?

1 个答案:

答案 0 :(得分:1)

在我发帖时回答了我的问题,但无论如何都是为了提供信息而发布的。解决方案是将name="{{slider.name}}"添加到input元素。然后它会立即填充正确的版本。

但是,这会导致其他意外行为(删除输入字段中的所有数据都会导致错误),因此我完全删除了名称字段,而是添加了[ngModelOptions]="{standalone: true}"。应用程序现在似乎按预期工作。