Angular 6配列遍歴項による双方向バインド損失焦点問題の解決

801 ワード

Altabaのブログへようこそ
angular 6を勉強して、長いと充実した過程、今日1つの問題を発見します
  ['aaa','bbb','ccc']   ,     input      ,     input ,    
    (   )   ;   [{a:'aaa'},{b:'bbb'},{c:'ccc'}],    (     )
                        ,     

方法はいつも困難より多い.
検索資料と文献発見
方法1
[(ngModel)]="item[index] 

方法1は確かにバインドの問題を解決できるが,もう一つの問題を発見し,フォームが項目を修正するたびにフォーム=値が変化するとフォームが焦点を失い,友好的ではないことを発見する.
方法2
*ngFor="let value of values; trackBy:indexTracker"

indexTracker(index: number, value: any) {
    return index;
}

このようなカスタムtrackByの方法こそ正しい道であり、アイテムのバインドを保証するだけでなく、配列の継続的な最初からの遍歴リフレッシュを回避し、完璧に解決することができます.みんなのために解決したら、ブロガーにほめてあげるか、ブロガーのgithubに行ってブロガーに心を添えるのを忘れないでください.感謝しています.GitHubアドレス