javascript - 如何访问 AngularJS 指令元素索引

标签 javascript angularjs angularjs-directive directive

有没有办法在 AngularJS 中获取指令元素的索引?我没有通过 AngularJS 文档和谷歌找到任何东西。例如,我的 DOM 中有几个指令元素,例如:

<div directive></div>
<div directive></div>
<div directive></div>

他们每个人都有一个独特的offsetTop。我想将这些偏移量写入一个由其索引标识的范围变量:

app.controller('AppController', [ '$scope', function ($scope) {

    $scope.offsetTopValues = [];

}]);

app.directive('directive', function ($window) {

    return function($scope, element, attrs) {

        $scope.offsetTopValues[index] = element[0].offsetTop;
    };
});

提前致谢:)

最佳答案

据我所知,指令在这样的 View 中没有索引。但是你可以做的是:

<div directive index="0"></div>
<div directive index="1"></div>
<div directive index="2"></div>

然后在 javascript 中:

app.controller('AppController', [ '$scope', function ($scope) {

    $scope.offsetTopValues = [];

}]);

app.directive('directive', function ($window) {

    return function($scope, element, attrs) {

        $scope.offsetTopValues[attrs.index] = element[0].offsetTop;
    };
});

关于javascript - 如何访问 AngularJS 指令元素索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21497376/

相关文章:

javascript - 获取类中类实例的名称

angularjs - 将 $rootScope 保留到指令中

c# - ASP.NET WebAPI 和 Angular POST

angularjs - ng-pattern 验证不起作用

javascript - 如何组织和减少 AngularJS Controller 的大小?

javascript - 无法在canvas JavaScript中绘制图像

javascript - 不同 Canvas 渲染

javascript - 无法使用 Angular 将 bool 值传递给指令

javascript - VUE - 数据对象总是作为引用传递还是有时被复制?

javascript - Angular 中的 HTTP 请求