Javascript 使用angular一次打印一个数组中的所有ID,并使用next按钮

Javascript 使用angular一次打印一个数组中的所有ID,并使用next按钮,javascript,jquery,angularjs,Javascript,Jquery,Angularjs,我使用Angular在数组中重复所有这些ID,但将其限制为一次显示一个,如下所示: <div ng-repeat="id in ids | limitTo:1"> {{array.id}} </div> {{array.id} 然后我想要一个div,当单击它时,它将显示数组中的下一个id,因此基本上会将$index增加1。也许像 <div ng-repeat="id in ids | limitTo:1"> {{array.id}}<

我使用Angular在数组中重复所有这些ID,但将其限制为一次显示一个,如下所示:

<div ng-repeat="id in ids | limitTo:1">
    {{array.id}}
</div>

{{array.id}
然后我想要一个div,当单击它时,它将显示数组中的下一个id,因此基本上会将$index增加1。也许像

<div ng-repeat="id in ids | limitTo:1">
    {{array.id}}<br />
    <div ng-click="$index + 1"></div>
</div>

{{array.id}}

上面的代码不起作用,所以我只能猜测我的做法是错误的。在Angular中,正确的方法是什么?

如果一次只显示一个元素,则无需使用
ng repeat
。您可以在控制器中执行以下操作:

$scope.index = 0;
$scope.arr = ['your', 'array'];

$scope.increment = function() { 
  $scope.index = ($scope.index + 1) % $scope.arr.length;
};
在你看来:

<div>
    {{arr[$index].id}}<br />
    <div ng-click="increment()"></div>
</div>
<div ng-controller="MyCtrl">
     <button ng-click="index = index + 1" ng-init="index=0">
       Next ID
    </button>
    ID: {{ids[index]}}
</div>

{{arr[$index].id}}

我认为我们不能通过增加$index来做到这一点,因为limitTo 1说index总是零

<button ng-click="onClick()">click here</button>
这是普朗克

如果要逐个查看ID数组,只需使用
ng click
ng init

在你看来:

<div>
    {{arr[$index].id}}<br />
    <div ng-click="increment()"></div>
</div>
<div ng-controller="MyCtrl">
     <button ng-click="index = index + 1" ng-init="index=0">
       Next ID
    </button>
    ID: {{ids[index]}}
</div>

编辑:当index>=arrayLength时,您还应该禁用该按钮,或者将index的值重置为0。

是否将其置为零?不确定$index来自何处或它的内容?还有,你在按钮上打错了结束语。是的,很抱歉打错了,$索引只是angular的术语,表示当前重复的索引是什么。在本例中,$index等于0,因为它只是显示数组的第一个索引。好吧,我想说的是,如果你在复制和粘贴你的代码,并且你的标记中有一个拼写错误,那么其他地方可能会有拼写错误,这可能会导致问题。不,这不是复制和粘贴,这只是我编写的一些基本代码。这只是一个ng重复,限制为1。我想我可以这样做,只是增加索引,但它不起作用。你可以对$index进行计算,但它不会改变ng repeat循环的数组。您可以创建一个附加数组的函数。但我还是不确定你想在这里做什么。Thaaat…很有道理。我很笨。谢谢