javascript - ng-repeat 循环计数内的 Angular ng-repeat

标签 javascript angularjs

我有以下代码:

<div ng-repeat="list in [[1,2,3,4], [1,2,3,4]] track by $index">
    <div id="{{counter}}" ng-repeat="listChild in list track by $index">
        {{listChild}}
    </div>
</div>

我想让 counter 成为元素的编号,但相对于整个父数组。我怎样才能让它工作,以便 div 连续计数,而不是作为两个单独的数组。是这样的:

<div>
    <div id="1">
        {{listChild}}
    </div>
    <div id="2">
        {{listChild}}
    </div>
    <div id="3">
        {{listChild}}
    </div>
    <div id="4">
        {{listChild}}
    </div>
</div>
<div>
    <div id="5">
        {{listChild}}
    </div>
    <div id="6">
        {{listChild}}
    </div>
    <div id="7">
        {{listChild}}
    </div>
    <div id="8">
        {{listChild}}
    </div>
</div>

最佳答案

下面的代码考虑了父数组中不同的数组长度。 $scope.precedingCount 跟踪直到给定内部数组开头的滚动总数

var app = angular.module('myApp', []);

app.controller('myController', function($scope) {
  $scope.counter = 0;

  $scope.data = [[1,2,3,4], ['a','b','c','d', 'e', 'f'], ['any', 'other', 'data', 'needed']];

  $scope.precedingCount = {
    0: 0
  };

  for(var i=1; i<$scope.data.length; i++) {
    $scope.precedingCount[i] = $scope.precedingCount[i-1] + $scope.data[i-1].length
  }

  $scope.combinedIndex = function(oIndx, iIndx) {
    return $scope.precedingCount[oIndx] + iIndx
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>

<div ng-app="myApp" ng-controller="myController">
  <div ng-repeat="list in data track by $index" ng-init="outerIndex = $index">
    <div id="{{combinedIndex(outerIndex, $index)}}" ng-repeat="listChild in list track by $index">
        {{listChild}} - {{counter}} - {{outerIndex}} - {{$index}} - {{combinedIndex(outerIndex, $index)}}
    </div>
  </div>

  <br />
  <br />
  
  <div>
    The count of the previous indices: {{precedingCount}}
  </div>
</div>

关于javascript - ng-repeat 循环计数内的 Angular ng-repeat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38248656/

相关文章:

javascript - AngularJS $scope 没有在 DOM 中更新

javascript - 尽管存在 angular.d.ts 文件,VS2015 版本的 TypeScript 仍出现 "TS2304:Build cannot find angular"错误

javascript - 如何将此 json 与 Angular 数据表一起使用

javascript - IE javascript 设置 style.left 不起作用

javascript - 定义我的导航的 JSON 具有标题类型和类别类型,我想将它们转换为 Javascript 中的嵌套 UL LI 元素

javascript - 在 Javascript 中获取 ClientID

css - 单击按钮时,我正在尝试为按钮添加颜色。按钮在 ng-repeat 下

javascript - 类型错误 : Cannot read property 'bind' of undefined using ng-cropper directive

javascript - 关注下一个输入不起作用以及当用户在最后一个输入字段时如何提交表单

javascript - AngularJS RouteProvider 无法在实时服务器上工作