これは、とプロパティng-repeat
をimages
持つオブジェクトの配列です。src
caption
var images = [
{src: 'a.jpg', caption: 'a'},
{src: 'b.jpg', caption: 'b'},
{src: 'c.jpg', caption: 'c'},
{src: 'd.jpg', caption: 'd'},
{src: 'e.jpg', caption: 'e'},
{src: 'f.jpg', caption: 'f'},
{src: 'g.jpg', caption: 'g'},
{src: 'h.jpg', caption: 'h'},
{src: 'i.jpg', caption: 'i'},
{src: 'j.jpg', caption: 'j'},
];
画像が重複している可能性があるため、src
+のcaption
組み合わせは一意性を保証しません。したいのですがtrack by
、 以外に方法がないようです$index
。
$index
私には悪い解決策のようです。最初の画像 (a) が削除されたとします。その後、後続のすべての画像のインデックスが変更されるため、リスト全体を再レンダリングする必要があります。これは、10 個の項目のリストではそれほど悪くありませんが、より大きなリストではそうです。
考え?
また、
src
+が一意であることが保証されてcaption
いたらどうでしょうか? どうすればtrack by
複数のプロパティを取得できますか?track by
追跡されたプロパティをに置くことで機能します$$watchers
か? のようtrack by image.id
なことをしてい$scope.$watch(image.id, cb)
ますか?