2017-03-03 41 views
0

我想使用已經在數組中設置的數據綁定到特定的輸入框。用這段代碼,我得到一個錯誤:我如何綁定到角2中的特定數組項?

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

問題應該在於[(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>