Return 使用函数 angularJS 在 ng repeat 中增加 ng repeat

Return increment ng repeat in ng repeat with function angularJS

我在另一个 ng-repeat 中有一个 ng-repeat,我需要能够获取所有记录的全局计数。

我试过在 ng-repeat 的视图中声明一个变量,这样它会添加但不起作用。

我目前有以下代码。

<body ng-app="app">
  <div class="table-responsive" ng-controller="quotesController">
    <div ng-repeat="info in datos2 track by $index">
      <h2><strong>{{info.name}}</strong></h2>
      <div ng-init='count()' ng-repeat="dato in data track by $index">
        <span>{{dato.name}}</span>
        <br> Position {{id}}
        <br />
      </div>
    </div>
  </div>
</body>

代码Angular

$scope.count=function(){
    number = number + 1; 
    $scope.id=number;  
}

我需要每个 ng-repeat 查询给我带来它所在的数字位置。

Example:

Name 1 ITEM 1 - Position 1

ITEM 2 - Position 2

Name 2 ITEM 1 Position 3

ITEM 2 - Position 4

Name 3 ITEM 1 - Position 5

ITEM 2 - Position 6

http://plnkr.co/edit/I5IWOXGmzbu0UNqn04ha?p=preview

您应该可以为此使用 ngInit。

<body ng-app="app">
  <div class="table-responsive" ng-controller="quotesController" ng-init="totalCount = 1">
    <div ng-repeat="info in datos2 track by $index">
      <h2><strong>{{info.name}}</strong></h2>
      <div ng-repeat="dato in data track by $index" ng-init="position = totalCount++">
        <span>{{dato.name}}</span>
        <br> Position {{position}}
        <br />
      </div>
    </div>
  </div>
</body>

您可以 return 来自控制器的全局计数器并将其分配给每个 ngInit of nested ngRepeat 上的范围变量,例如:

// Code goes here
angular.module('app', [])
.controller('quotesController',
  function quotesController($scope) {
    $scope.datos2 = [{
        "name": "Name 1",
      }, {
        "name": "Name 2",
      }, {
        "name": "Name 3",
      }
    ];

    $scope.data = [{
        "name": "ITEM 1",
      }, {
        "name": "ITEM 2",
    }]; 

    var number = 1;
    $scope.count = function(){
        return number++; 
    }

});
<body ng-app="app">
  <div class="table-responsive" ng-controller="quotesController">
    
    <div ng-repeat="info in datos2 track by $index">
      <h2><strong>{{info.name}}</strong></h2>
      <div ng-init='id = count()' ng-repeat="dato in data track by $index">
        <span>{{dato.name}}</span>
        <br> Position {{id}}
        <br />
        <br>
      </div>

    </div>
  </div>
</body>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.26/angular.min.js"></script>

您可以使用{{($parent.$index*data.length)+($index+1)}}

<div ng-repeat="info in datos2 track by $index">
  <h2><strong>{{info.name}}</strong></h2>
  <div ng-init='count()' ng-repeat="dato in data track by $index">
     <span>{{dato.name}}</span>
     <br> Position {{($parent.$index*data.length)+($index+1)}}
     <br />
     <br>
  </div>
</div>

http://plnkr.co/edit/0mcgZfxmL5PBwSDp0hoo?p=preview