AngularJS の ng-repeat に重複するデータのあるリストを渡す
ハマったので覚書。
さて、次のようにして重複するデータのあるリストを ng-repeat したい時があると思います。
<div ng-repeat='item in [1, 1, 2, 1, 2, 1]'> <p>{{ item }}</p> </div>
しかし、上記のように『重複するデータがあるリスト』の場合には ng-repeat が動作しません。
これを動作させるようにするには "track by $index" を追加する必要があります。
<div ng-repeat='item in [1, 1, 2, 1, 2, 1] track by $index'> <p>{{ item }}</p> </div>
これで重複するデータのあるリストも ng-repeat する事ができます。
しかし、だいぶ罠なので『デフォルトで "track by $index" する』みたいな設定ってないのかな…。