Ng-repeat 和指令一次扩展一个列表项

Ng-repeat and directive expand one list item at a time

我有一个带有可扩展列表项的 ng-repeat 代码。我想一次展开一项。

我尝试的方法是 在 html 文件中

<div data-ng-repeat="parts in data track by $index">
    <li id="titleHelp" ng-click='setItem($index);">

在 setItem 函数的指令中,我想折叠之前展开的项目并展开新项目。是否可以使用索引访问指令中的一个重复元素?

谢谢!

您目前是如何展开列表项的? 我要做的是在单击某个项目后立即设置一个变量,并在您的重复列表中执行

<div data-ng-repeat="parts in data track by $index">
    <li id="titleHelp" ng-click='setItem($index);">
    <div ng-show="$index = selected_item"> <!-- contents --></div>

在您的 setItem 函数中:

$scope.setItem = function(i) {
    $scope.selected_item = i;
}

声明一个对象

$scope.obj={selected:null};

之后在ng repeat中添加一个方法,

 $scope.isHide = function (id) {

                            if (id == $scope.obj.selected)
                                return $scope.obj.selected = "all";

                            return $scope.obj.selected = id;
                        }

如果你想隐藏div,用id调用这个方法。如果需要,对 li 做同样的事情。