angularJS遍歴配列要素重複の解決策について
987 ワード
デフォルトではng-repeatの各itemが唯一であることを保証します.そうしないと、consoleはerrorを打って、どのkey/valueが重複しているかを教えてくれます.次のようになります.
この配列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'
];
この配列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 }}