我遇到了angularjs和$ index
的问题我在一个函数的参数给它。它适用于{{}}中的HTML({{$ index}}作品)。但它在功能上不起作用。我警告索引,它总是0 ...
我在项目的另一个位置使用它并且工作正常..
这是代码。
<input type="checkbox" id="rounded1" ng-click="setClickEvent($index)" ng-model="clickStatus"/>
带有函数的JS文件:
$scope.setClickEvent = function(index) {
alert(index);
};
警报始终为0 ....
我希望有人可以帮助我。谢谢:))
答案 0 :(得分:0)
您似乎没有在<input>
指令中使用此ng-repeat
标记。 $index
将显示0,除非它在ng-repeat
中使用,它将从0到n进行计数。
也许你打算做这样的事情:
<div ng-repeat="i in [1, 2, 3, 4, 5] track by $index">
<input type="checkbox" ng-click="setClickEvent($index)" ng-model="clickStatus"/>
</div>
我删除了ID,因为5个复选框中的每个复选框都具有相同的ID无效。
答案 1 :(得分:0)
对不起,这是带有ng-repeat
的整个html代码<div ng-repeat="frage in frageListe">
<div class="input-group">
<div class="container-fluid list-group-item ">
<div class="rounded">
<input type="checkbox" id="rounded1" ng-click="setClickEvent(frage.id)" ng-model="clickStatus"/>
<label for="rounded1"></label>
</div>
<div class="list-text">
<h3 class="list-group-item-heading quest-list-text serif">{{frage.titel}} {{$index}}</h3>
</div>
</div>
</div>
<hr class="divider-line-questlist">
</div>
答案 2 :(得分:0)
不知道这是否相关,但是我遇到了同样的问题。对我来说,问题是我嵌套了多个ng-repeats。为了解决这个问题,我使用ng-init为索引设置了别名。
https://docs.angularjs.org/api/ng/directive/ngInit
<script>
angular.module('initExample', [])
.controller('ExampleController', ['$scope', function($scope) {
$scope.list = [['a', 'b'], ['c', 'd']];
}]);
</script>
<div ng-controller="ExampleController">
<div ng-repeat="innerList in list" ng-init="outerIndex = $index">
<div ng-repeat="value in innerList" ng-init="innerIndex = $index">
<span class="example-init">list[ {{outerIndex}} ][ {{innerIndex}} ] = {{value}};</span>
</div>
</div>
</div>