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

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

本文关键字:一个 列表 Ng-repeat 一次 指令      更新时间:2023-09-26

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

我试图这样做的方式是在 HTML 文件中

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

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

谢谢!

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

<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重复中添加一个方法,

 $scope.isHide = function (id) {
                            if (id == $scope.obj.selected)
                                return $scope.obj.selected = "all";
                            return $scope.obj.selected = id;
                        }

如果要隐藏div,请使用 id 调用此方法。如果需要,对 li 做同样的事情。