Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/474.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AngularJS中ng repeat内的增量计数器_Javascript_Angularjs - Fatal编程技术网

Javascript AngularJS中ng repeat内的增量计数器

Javascript AngularJS中ng repeat内的增量计数器,javascript,angularjs,Javascript,Angularjs,我有两个嵌套的ng repeat,希望访问外部索引和内部索引 <div ng-repeat="column in columns" ng-init="columnIndex = $index"> <div ng-repeat="row in column" ng-init="rowIndex = $index"> <p ng-click="delete(column, row)"> Delete

我有两个嵌套的ng repeat,希望访问外部索引和内部索引

<div ng-repeat="column in columns" ng-init="columnIndex = $index">
     <div ng-repeat="row in column" ng-init="rowIndex = $index">
          <p ng-click="delete(column, row)">
              Delete
          </p>
     </div>
</div>

删除

现在,只要不更新outers模型,就可以正常工作。 显然,ng init只初始化值一次,因此如果我删除页面上的一个元素,columnIndex和rowIndex将不会相应地更新


是否有其他方法跟踪外部索引和内部索引,以便将正确的值传递给删除函数?

您可以为每个ng repeat索引设置名称:

<div ng-repeat="(columnIndex, column) in columns">
    <div ng-repeat="(rowIndex, row) in column">
        <p ng-click="delete(column, row)">
            Delete
        </p>
    </div>
</div>

删除


或者,您可以使用
$index
作为内部索引,使用
$parent.$index
作为外部索引。

@Ellery其他人希望在单击时修改模型。我不知道,每个delete函数都需要一个特定的值。为什么在delete函数中需要它?很容易在控制器中使用您所拥有的而不需要$index的内容进行索引您需要在数组本身中使用一些uniqueIdentifier,这取决于$index i not goodidea@charlieftl也许我做错了,但我需要知道从模型数组中删除哪个值。我觉得很傻,我甚至没有想到键。不过,我还是不知道$parent.$index,谢谢!