如何使用angular和ng repeat在javascript中创建3d dom?

如何使用angular和ng repeat在javascript中创建3d dom?,javascript,angularjs,arrays,indexing,angularjs-ng-repeat,Javascript,Angularjs,Arrays,Indexing,Angularjs Ng Repeat,我想要实现的是创建一个3级的深度,使用angular和ng repeat或ng选项,但我正在失去$index的轨迹,因为第二级和第三级指向的是来自级别1的相同$index,而不是它们自己的级别。访问正确的索引很重要 var A = [[[1],[2]],[[3],[4]],[[5],[6]]] <ul> <li ng-repeat="a in A track by indexA" ng-click="myFnA(indexA)"> <ul

我想要实现的是创建一个3级的深度,使用angular和ng repeat或ng选项,但我正在失去$index的轨迹,因为第二级和第三级指向的是来自级别1的相同$index,而不是它们自己的级别。访问正确的索引很重要

var A = [[[1],[2]],[[3],[4]],[[5],[6]]]

<ul> 
    <li ng-repeat="a in A track by indexA" ng-click="myFnA(indexA)">
        <ul> 
            <li ng-repeat="b in B track by indexB" ng-click="myFnB(indexB)"> 
                <ul> 
                    <li ng-repeat="c in C track by indexC" ng-click="myFnC(indexC)">

                    </li>
                </ul>
            </li>
        </ul>
    </li>
</ul>
var A=[[1]、[2]、[[3]、[4]、[[5]、[6]]

您可以使用
ng init

<ul> 
    <li ng-repeat="a in A track by $index" ng-init="indexA = $index"> <!--indexA is the index of a-->
        <ul> 
            <li ng-repeat="b in B track by $index"  ng-init="indexB = $index"><!--indexB is the index of b-->
                <ul> 
                    <li ng-repeat="c in C track by $index"  ng-init="indexC = $index"> <!--indexC is the index of c-->
                       {{indexA}}
                       {{indexB}}
                       {{indexC}}
                    </li>
                </ul>
            </li>
        </ul>
    </li>
</ul>
      • {{indexA}} {{indexB}} {{indexC}}

您可以使用
ng init

<ul> 
    <li ng-repeat="a in A track by $index" ng-init="indexA = $index"> <!--indexA is the index of a-->
        <ul> 
            <li ng-repeat="b in B track by $index"  ng-init="indexB = $index"><!--indexB is the index of b-->
                <ul> 
                    <li ng-repeat="c in C track by $index"  ng-init="indexC = $index"> <!--indexC is the index of c-->
                       {{indexA}}
                       {{indexB}}
                       {{indexC}}
                    </li>
                </ul>
            </li>
        </ul>
    </li>
</ul>
      • {{indexA}} {{indexB}} {{indexC}}
使用来保存索引:

还要确保嵌套的
ng repeat
使用上一个
ng repeat
变量:

ng-repeat="itemA in A"     ng-init="indexA=$index"
ng-repeat="itemB in itemA" ng-init="indexB=$index"
ng-repeat="c     in itemB"
演示
angular.module(“myApp”,[]);
角度.module(“myApp”).controller(“myVm”,函数($scope){
$scope.A=[[1]、[2]、[[3]、[4]、[[5]、[6]];
});

嵌套ng重复演示
  • {{indexA}}:{{itemA}
    • {{indexB}}:{{itemB}
      • A[{indexA}][{{indexB}][{{$index}}]={{c}
使用来保存索引:

还要确保嵌套的
ng repeat
使用上一个
ng repeat
变量:

ng-repeat="itemA in A"     ng-init="indexA=$index"
ng-repeat="itemB in itemA" ng-init="indexB=$index"
ng-repeat="c     in itemB"
演示
angular.module(“myApp”,[]);
角度.module(“myApp”).controller(“myVm”,函数($scope){
$scope.A=[[1]、[2]、[[3]、[4]、[[5]、[6]];
});

嵌套ng重复演示
  • {{indexA}}:{{itemA}
    • {{indexB}}:{{itemB}
      • A[{indexA}][{{indexB}][{{$index}}]={{c}

谢谢,它是否反映了不同的价值?它们不应该是相同的。如果我将$indexA传递给ng change=“myFn($indexA)”会让我的生活更轻松。根据相关的ng repeat indexI,它应该会反映出来。根据您的答案,稍微修改了问题。您是否介意快速查看并验证您的答案是否有效。这样做行不通。您必须使用
track by$index
ng repeat无法识别
indexA
谢谢,它是否反映了不同的值?它们不应该是相同的。如果我将$indexA传递给ng change=“myFn($indexA)”会让我的生活更轻松。根据相关的ng repeat indexI,它应该会反映出来。根据您的答案,稍微修改了问题。您是否介意快速查看并验证您的答案是否有效。这样做行不通。您必须使用
track by$index
ng repeat无法识别
indexA