[英]angularjs ng-repeat hide element with a click event
有一个使用ng-repeat
显示的项目列表。 每个项目都与一个隐藏链接关联。 目的是如果单击项目的相应隐藏链接,则将其隐藏。
视图:
<div ng-repeat="item in products">
<div>{{ item }}</div>
<a href"javascript:void(0)" ng-click="hideMe(item)">[delete]</label>
</div>
我该如何实现函数hideMe(item)
这样一种方式,使其可以隐藏item div元素 ,类似以下内容,ng-if可以根据click事件确定何时隐藏-
<div ng-if="...">{{ item }}</div>
您可以使用以下对象数组: $scope.products = [{name: 'hello', status: true}]
然后您可以隐藏它们,更改status
属性:
<div ng-repeat="item in products">
<div ng-show="item.status">
{{ item.name }} <a href"javascript:void(0)" ng-click="item.status = false">[delete]</label>
</div>
</div>
对于每个列表项,如果单击它,您都希望将其隐藏。 我们最好的方法是添加ng-hide
指令。
在按钮上使用ng-click
指令,我们可以将项目的hidden
属性设置为true,这意味着它应该被隐藏。
<ul>
<li ng-repeat="fruit in fruits" ng-hide="fruit.hidden">
<p>{{fruit.name}}</p>
<button ng-click="hideMe(fruit)">hide li</button>
</li>
</ul>
$scope.hideMe = function (fruit) {
fruit.hidden=true;
alert('hide this li');
};
这是一个小提琴
您可以使用$ index做到这一点。
这样的事情。
<div ng-repeat="item in products">
<div ng-hide="selected.index === $index">{{ item }}</div>
<a href"javascript:void(0)" ng-click="selected.index = $index">[delete]</label>
</div>
只需在单击时存储选定的值,然后使用隐藏即可使用ng-class隐藏该项目,并将其与选定的索引进行比较。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.