2016-07-02 12 views
0
<li ng-repeat="value in array1 track by $index"> 
<div ng-repeat="j in array2"> 
     <div example-directive > 
       <p>  {{$index}} ,{{$parent.$index}}</p> 
     </div> 
</div> 
</li> 

In dem obigen Code könnte ich Zugang Eltern ng-repeat-Index in meinem benutzerdefinierten directive.how kann ich den Index der Eltern erhalten ng-repeat

+0

Ng-Repeat schafft es eigene Rahmen ist, wenn Ihr Beispiel-Richtlinie das gleiche tut, haben Sie versucht, $ parent. $ Parent. $ Index? – Noppey

+0

Welchen spezifischen Fehler erhalten Sie beim Zugriff auf den übergeordneten Index? Verwenden Sie die Transclude-Eigenschaft einer Direktive? – Ajay

+0

Keine Anzeige der Nummer ja transclude ist wahr – radha

Antwort

0

Mit diesem Beispiel können Sie herausfinden, wie Sie index oder etc ... in Anweisungen erhalten können.

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

 
     app.controller("controller", function ($scope) { 
 

 
      $scope.array1 = [ 
 
       {id: "1-1"}, 
 
       {id: "1-2"} 
 
      ]; 
 

 
      $scope.array2 = [ 
 
       {id: "2-1"}, 
 
       {id: "2-2"} 
 
      ]; 
 

 
     }); 
 

 
     app.directive("exampleDirective", function() { 
 
      return { 
 
       restrict: "A", 
 
       scope: { 
 
        exampleDirective: "=" 
 
       }, 
 
       link: function (scope, element, attr, ngModel) { 
 
        console.log(scope.exampleDirective) 
 
       } 
 
      } 
 
     })
<!DOCTYPE html> 
 
<html ng-app="app" ng-controller="controller as ctrl"> 
 
<head> 
 
    <title></title> 
 
</head> 
 
<body> 
 

 
    <ul> 
 
     <li ng-repeat="value in array1 track by $index"> 
 
      {{value.id}} 
 
      <ul> 
 
       <li ng-repeat="j in array2"> 
 
        <div example-directive="{parentIndex: $parent.$index, childIndex: $index}"> 
 
         {{j.id}} 
 
         <p>array1 index: {{$parent.$index}}</p> 
 
         <p>array2 index: {{$index}}</p> 
 
        </div> 
 
       </li> 
 
      </ul> 
 
     </li> 
 
    </ul> 
 

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

 
</body> 
 
</html>