Fre*_*red 9 angularjs angularjs-ng-repeat angularjs-controller
我想在点击按钮时访问屏幕上下一个项目的参数.
我在我的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>
Run Code Online (Sandbox Code Playgroud)
和我的控制器中的索引循环:
$scope.itemNext = function () {
$scope._Index = ($scope._Index < $scope.nbItems - 1) ? ++$scope._Index : 0;
$scope.functionToCallWithNextItem(nextItem.param1);
};
Run Code Online (Sandbox Code Playgroud)
一个简单$scope.items[$scope._Index].param1的,而不是nextItem.param1作为数据进行过滤,这样是行不通$index+1的$scope.items不一定是好的.
任何的想法 ?
tas*_*ATT 20
您可以将过滤后的数据分配给变量:
<li ng-repeat="item in (filteredItems = (items | filter:query))">
Run Code Online (Sandbox Code Playgroud)
然后$index + 1用来获取下一个项目:
<a ng-click="itemNext(filteredItems[$index + 1])">
Run Code Online (Sandbox Code Playgroud)
演示: http ://plnkr.co/edit/OdL5rIxtTEHnQCC3g4LS?p=preview