AngularJS - 如何从控制器中的ng-repeat访问下一个项目
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AngularJS - 如何从控制器中的ng-repeat访问下一个项目相关的知识,希望对你有一定的参考价值。
我想在点击按钮时访问屏幕上下一个项目的参数。
我在我的html文件中使用ng-repeat:
<li ng-repeat="item in items | filter:query" ng-show="isSelected($index)">
<a href="" ng-click="itemNext()"><img src="xxx.jpg" /></a>
</li>
和我的控制器中的索引循环:
$scope.itemNext = function () {
$scope._Index = ($scope._Index < $scope.nbItems - 1) ? ++$scope._Index : 0;
$scope.functionToCallWithNextItem(nextItem.param1);
};
一个简单的$scope.items[$scope._Index].param1
而不是nextItem.param1
将无法正常工作,因为数据被过滤,所以来自$index+1
的$scope.items
不一定是好的。
任何的想法 ?
答案
您可以将过滤后的数据分配给变量:
<li ng-repeat="item in (filteredItems = (items | filter:query))">
然后使用$index + 1
获取下一个项目:
<a ng-click="itemNext(filteredItems[$index + 1])">
但是:ぁzxswい
另一答案
这简直太棒了
http://plnkr.co/edit/OdL5rIxtTEHnQCC3g4LS?p=preview
以上是关于AngularJS - 如何从控制器中的ng-repeat访问下一个项目的主要内容,如果未能解决你的问题,请参考以下文章
AngularJS - 如何从控制器中的ng-repeat访问下一个项目
如何从 WebView Cordova AngularJS 控制器访问/发送数据到 MainActivity?