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

如果没有,我的替代方案是什么?移动ng-repeat指令内部,也许?

PS 我知道你(一般来说)不应该以这种方式进行 DOM 操作,但是因为我可能有大约 2000 个项目会导致 6000 个绑定,我担心这会导致严重的性能问题。

4

1 回答 1

0

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

于 2013-07-03T07:42:32.820 回答