AngularJS - 如何从控制器中的 ng-repeat 访问下一个项目

2023-12-24

我想在单击按钮时访问屏​​幕上下一个项目的参数。

我在 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 from $scope.items不一定是好的。

任何想法 ?


您可以将过滤后的数据分配给变量:

<li ng-repeat="item in (filteredItems = (items | filter:query))">

然后使用$index + 1获取下一个项目:

<a ng-click="itemNext(filteredItems[$index + 1])">

Demo: http://plnkr.co/edit/OdL5rIxtTEHnQCC3g4LS?p=preview http://plnkr.co/edit/OdL5rIxtTEHnQCC3g4LS?p=preview

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AngularJS - 如何从控制器中的 ng-repeat 访问下一个项目 的相关文章

随机推荐