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 做同样的事情。
我有一个带有可扩展列表项的 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 做同样的事情。