【发布时间】:2016-02-24 19:47:01
【问题描述】:
我尝试了什么:-
<ul id="leftMenu">
<li ng-repeat="(networkKey, networkValue) in menuValue track by $index">
<a href="#" ng-click="divVerticalMenuClickEventHandler($event, networkValue, 'NetworkLevel', '')">
Network {{$index+1}}<span> </span></a>
<ul>
<li ng-repeat="(deviceAccessPointKey, deviceAccessPointValue) in deviceAccessPointItems track by $index">
<a href="#" ng-click="divVerticalMenuClickEventHandler($event, networkValue +'/' +deviceAccessPointValue.name , 'DeviceLevel', deviceAccessPointValue.ref)">{{capitalizeFirstLetter(deviceAccessPointValue.name)}}<span> </span></a>
<div ng-repeat="(objectkey, objectValue) in objectListItems">
<ul class="" style="">
<li ng-repeat="(objectListKey, objectListValue) in objectValue track by $index | orderBy:sortMenu">
<a href="#" ng-click="divVerticalMenuClickEventHandler($event, objectListValue, 'ObjectListLevel', '')">{{GetUpdatedObjectname(objectListValue)}}<span> </span>
</a>
</li>
</ul>
</div>
</li>
</ul>
</li>
</ul>
控制器动态绑定这个菜单。
$scope.menuItems = payload.data;
在点击 li 项时,我调用 REST API 并绑定该 li 项的子项。但它将相同的 li 项目绑定到所有父 li 项目。 有什么问题:- 菜单示例:-
这里的问题是,如果我点击“Network1”,那么它会将 Network1 和 Network2 的孩子的数据绑定到相同的数据,设备也会发生同样的情况。如果我点击 Devices,那么它会绑定 Devices 对象以及 Devices2 对象。
请告诉我解决方案.. 提前致谢
【问题讨论】:
-
试试 ng-click="yourfunc();$event.stopPropagation()"。据我所知,这是一个事件冒泡问题
-
我试过了,但它不起作用。如果我们查看 HTML 代码,您可以看到“deviceAccessPointItems” JSON 对象,并且该对象分配给 Network 级别下的所有 li 项。因此,如果我单击 Network1,那么 Network1 子节点和 Network2 子节点将使用相同的“deviceAccessPointItems”。因此它为两者创建子项。
标签: angularjs multidimensional-array angularjs-directive angularjs-scope angularjs-ng-repeat