【发布时间】:2017-12-14 02:23:23
【问题描述】:
我有一个由迭代对象数组的 ng-repeat 生成的列表。 对于创建的每个元素,我都有一个切换 showDetails-body 的 ng-click。 像这样:
<li class="list-group-item" ng-repeat-start="order in orderList "
ng-click="order.showDetails = !order.showDetails"
当我更改整个窗口的状态(即更改视图)时,如何将该特定元素切换为 false?问题是当我在应用程序中更改视图时,会显示带有详细信息的列表元素“正文”。我需要重置该特定元素。可能吗?
【问题讨论】:
-
我想你可以打电话给
$scope.orderList[yourIndex].showDetails = false -
我不知道索引。可能会扩展许多列表元素。当我更改内容时,它们会粘在页面上。
-
然后只需遍历整个列表并将他们的每个
showDetails设置为false -
试试 ng-click="orderList[$index] .showDetails = !orderList[$index] .showDetails"
-
为什么不能像@BunyaminCoskuner 建议的那样简单地遍历所有订单?在你的控制器中尝试
angular.forEach($scope.orderList, function(order){ order.showDetails = false; });之类的东西。
标签: html angularjs angularjs-ng-repeat html-lists