访问ng-repeat指令内的重复项

时间:2013-07-03 06:27:58

标签: angularjs

我正在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.name产生未定义。我想知道是否有任何方法可以访问我的指令中的重复项目。

如果没有,那么我的替代方案是什么?可能会在指令中移动ng-repeat吗?

P.S。我知道你应该(一般来说)不要这样做DOM操作,但是因为我可能有〜2000个项目会导致6000个绑定,我担心这会导致严重的性能问题。

1 个答案:

答案 0 :(得分:0)

您应该将item作为属性传递给指令创建一个示例指令 http://plnkr.co/edit/l5r6zIc7ncT1XldRuB98?p=preview