我正在 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 个绑定,我担心这会导致严重的性能问题。