2016-10-29 91 views
1

前提:我嘗試了幾個答案(包括一個我問及意外接受的答案),但沒有一個適合我。如何在[嵌套] ngFor(Angular rc2)中設置ngModel?

我有一個嵌套的ngFor內部和通過ngModel嵌套綁定。

問題:當我更新嵌套的ng中的一個項目時對於相應的項目也更新其他嵌套的ngFor。 下面的示例代碼,評論什麼是工作,什麼不工作。

模板

<div *ngFor="let outerObject of outerObjects; let oIndex = index; trackBy: trackByIndex"> 
    {{outerObject.value}} <!-- this works --> 
    <div *ngFor="let innerObject of outerObject.innerObjects; let index = index; trackBy: trackByIndex"> 
      <input [(ngModel)]="outerObject.innerObjects[index]"> <!-- when I change this any innerObjects[i] is updated --> 
    </div> 
</div> 

TS

outerObjects = [ 
    { 
     value = 'x' 
     innerObjects: ['a', 'b', 'c'] 
    }, 
    { 
     value = 'y' 
     innerObjects: ['a', 'b', 'c'] 
    } 
]; 

trackByIndex(index: number, obj: any): any { 
    return index; 
} 
+0

如何更新? RC.2是相當古老的,很長一段時間沒有得到支持,只有少數人能記得當時的情況。 –

+0

你是這樣的,但你知道......上市時間(升級整個應用程序[很大]不是那麼容易) – dragonmnl

回答

2

你有一個語法錯誤:你必須寫[(ngModel)][(ngModel])(注意廣場在最後的順序和普通支架)。

糾正該語法錯誤並在Angular 2.1.1中運行代碼後,它似乎正在工作。數據綁定僅適用於相應的outerObject.innerObjects[index]

+0

感謝您的回答。這是一個錯字(現在已更正)。正如我所指出的,我正在使用rc2,但它不能以這種方式工作 – dragonmnl