[問題] Angular 4 嘗試使用button click事件動態增長物件陣列,再使用 ngFor 顯示

我嘗試使用一個button來動態增長一個 ngFor 的 table input 列,
沒打值的狀態下都很正常,
但是一打輸入值再按按鈕時就會出現以下錯誤
ERROR Error: ExpressionChangedAfterItHasBeenCheckedError: Expression has changed after it was checked. Previous value: ‘aaa’. Current value: ‘undefined’.

我有試過 trackBy的方式去用也無法解決…

以下是程式碼片段:
image

template 片段:
tr *ngFor=“let detail of detailList ; let index = index ; trackBy:trackByIndex;”

謝謝大家

template 完整的部分需要放上來,你這個訊息跟 ngFor 沒有關係,是跟 Form 的部分有關係
所以需要看到完整的寫法

HI Kevin,
附上 template 片段:

你這段有包在 Form 裡面嗎 ? 還是就單純使用 ngModel 而已

這個是簡化你程式碼後的結果,是可以正常運作的

你在參考看看哪裡不一樣

嗨,Kevin~是單純 ngModel~沒包在Form裡面~~


感謝你!! 請問包在form裡面有差嗎?

我把它簡化成只有 addLine()

和 ngFor=“let detail of detailList" 做也可以了

現在突然無法重現剛剛掛掉的狀況…

是沒差,只是要確認一下環境而已