angularJS遍歴配列要素重複の解決策について

987 ワード

デフォルトではng-repeatの各itemが唯一であることを保証します.そうしないと、consoleはerrorを打って、どのkey/valueが重複しているかを教えてくれます.次のようになります.
$scope.items = [
    'red',
    'blue',
    'yellow',
    'white',
    'blue'
];

この配列blueは繰り返され、htmlはコンソールでエラーを投げ出します.
エラーをクリックしてAngularの公式サイトにリンクして詳細なエラーを見て、公式サイトは明らかに値が重複しているためです:Duplicates in a repeater are not allowed.Use 'track by' expression to specify unique keys. Repeater:item in items,Duplicate key:string:blue,Duplicate value:blueこれは退屈で、正常な業務の中で配列が重複する値があるのは正常で、配列は無理に唯一のng-repeatをしなければ遍歴できないので、続けて見ると、公式サイトが解決策を与えたことに気づいた:そこでこの案に従って{{item}}を変更してホームページを更新し、内容が正常に解析されるにはng-repeatは唯一のkeyが必要ですが、trackしないとデフォルトはitemそのものです.また、通常のデータ型文字列、数字などでしかこの問題は発生しません.Objectに置き換えると
$scope.items = [
   ['red'],
   ['blue'],
   ['yellow'],
   ['white'],
   ['blue']
];
html   
  • {{ item }}