0

数回繰り返す必要があるカスタム ディレクティブを AngularJS で作成しています。現在、私のページは次のようになっています。

<div my-item ng-repeat="item in items" />

そして、私のディレクティブは次のようになります。

module.directive('myItem', function() {
    return {
        restrict: 'A',
        replace: true,
        scope: { item: '&' },
        template: '<div id="item{{$index}}"></div>',
        link: function($scope, element, attributes) {
            element.append('<div>' + $scope.item.name + '</div>');
        }
    };
});

ただし、リンク関数内では、$scope.item.nameundefined が生成されます。ディレクティブ内の繰り返し項目にアクセスできる方法があるかどうか疑問に思っています。

そうでない場合、私の代替手段は何ですか?ng-repeatたぶん、ディレクティブ内を移動しますか?

PS この方法で DOM 操作を (一般的に言えば) 行うべきではないことはわかっていますが、最大 2000 個のアイテムがあり、6000 個のバインディングが発生する可能性があるため、重大なパフォーマンスの問題が発生するのではないかと心配しています。

4

1 に答える 1