【发布时间】:2016-02-06 03:44:56
【问题描述】:
HTML Markup:
<div ng-repeat="item in items">
<div class="dropdown-menu" ng-click=itemsActive()>click me</div>
<ul ng-show="itemVisible">
<li>item 1</li>
<li>item 2</li>
</ul>
</div>
Controller code:
$scope.itemVisible = false;
$scope.itemsActive = function(){
$scope.itemVisible = !$scope.itemVisible;
}
上面是标记,在 ng-click 上我正在调用函数 itemsActive() 并且在控制器中我有一个范围变量 $scope.itemVisible = false。并且,通过分配 ng-show = "itemVisible",最初不会显示项目下拉列表。因此,onclick 范围变量切换为真/假。 但是,由于使用了 ng-repeat,所有重复项的“下拉菜单”div 也会被切换。如何实现为特定的 div 显示/隐藏 ul 项。
我编辑了我的代码 HTML 标记:
<div ng-repeat="item in items">
<div class="dropdown-menu" ng-click="item.visible=!item.visible>"click me</div>
<ul ng-show="itemVisible">
<li>item 1</li>
<li>item 2</li>
</ul>
</div>
现在,点击时,项目会打开/关闭。但是,单击第一项和第二项时,下拉菜单是可见的。如果我单击第一项并单击第二项,则应隐藏第一项?
【问题讨论】:
标签: angularjs