如何绑定角度2中的特定数组项?

时间:2017-03-03 14:15:47

标签: arrays angular binding

我想使用已在数组中设置的数据绑定到特定的输入框。使用这段代码,我收到一个错误:

Recommendation.question包含已通过服务加载的一系列问题。这样可以正常工作,如果只是通过使用它所使用的括号来显示问题的值。只是数组的值不会绑定到输入框。

我得到的错误:

Unhandled Promise rejection: Cannot assign to a reference or variable! ; Zone: <root> ; Task: Promise.then ; Value: ZoneAwareError Error: Cannot assign to a reference or variable!

  <div class="list-group-item"
    *ngFor="let question of Recommendation.question; let i = index;">
    <input class="form-control" name="question" [(ngModel)]="question"/>
    {{question}}
    {{i}}
  </div>

如果我注释掉输入字段,{{question}}会显示数组当前索引处的正确值。

1 个答案:

答案 0 :(得分:1)

问题应该在于[(ngModel)]变量与迭代中的引用相同,即question

这样做应该有效:

<div class="list-group-item"
  *ngFor="let question of Recommendation.question; let i = index;">
  <input class="form-control" name="question" [(ngModel)]="Recommendation[i]"/>
  {{question}}
  {{i}}
</div>