我以以下格式显示菜单项。包含项目data
列表,每个项目都有一个子项目。我需要为所有项目应用所选的selected
类subitem
和所有其他子项目deselected
。如何在控制器内部执行此操作。我尝试通过ng-click
在 html 中添加事件并在控制器中切换类,但它不适用于其他项目中的所有其他子项目。下面显示了 html 和控制器代码以获取更多详细信息。
<ol ng-model="data">
<li ng-repeat="item in data" collapsed="true">
<div ng-click="toggle(this)">
<a class="btn btn-success btn-xs" ng-if="item.children && item.children.length > 0">{{item.name}}</a>
</div>
<ol ng-model="item.children" ng-class="{hidden: collapsed}">
<li ng-repeat="subItem in item.children" ng-model="subItem.name" collapsed="true" ng-click="handleClick(subItem)">
<div ng-class="{'selected-li': subItem.value, 'deselected-li': false}">
{{subItem.name}}
</div>
</li>
</ol>
</li>
</ol>
在我的控制器内部,我的代码如下:
$scope.toggle = function (scope) {
scope.toggle();
};
$scope.handleClick=function(subitem){
subitem.value = subitem.value ? !subitem.value: true;
}
data
UI 中使用的对象也包含子对象。请让我知道我哪里出错了。