我有一个ng-repeat
代码,其中包含可扩展的列表项。我想一次扩展一个项目。
我试图这样做的方式是 在html文件中
<div data-ng-repeat="parts in data track by $index">
<li id="titleHelp" ng-click='setItem($index);">
并且在setItem函数的指令中我想要折叠先前展开的项并展开新项。是否可以使用索引访问指令中的一个重复元素?
谢谢!
答案 0 :(得分:2)
您目前如何扩展列表项? 我会做的是在单击项目后立即设置变量,并在重复列表中执行
<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;
}
答案 1 :(得分:1)
声明一个对象
$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做同样的事情。