在ng-repeat中单击显示隐藏的div
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在ng-repeat中单击显示隐藏的div相关的知识,希望对你有一定的参考价值。
我正在开发一个Angular.js应用程序,它可以过滤医疗程序的json文件。当使用ng-click单击(在同一页面上)过程的名称时,我想显示每个过程的详细信息。这是我到目前为止,.procedure-details div设置为display:none:
<ul class="procedures">
<li ng-repeat="procedure in procedures | filter:query | orderBy:orderProp">
<h4><a href="#" ng-click="?">{{procedure.definition}}</a></h4>
<div class="procedure-details">
<p>Number of patient discharges: {{procedure.discharges}}</p>
<p>Average amount covered by Medicare: {{procedure.covered}}</p>
<p>Average total payments: {{procedure.payments}}</p>
</div>
</li>
</ul>
我很有新意义。有什么建议?
答案
删除display:none
,并使用ng-show
代替:
<ul class="procedures">
<li ng-repeat="procedure in procedures | filter:query | orderBy:orderProp">
<h4><a href="#" ng-click="showDetails = ! showDetails">{{procedure.definition}}</a></h4>
<div class="procedure-details" ng-show="showDetails">
<p>Number of patient discharges: {{procedure.discharges}}</p>
<p>Average amount covered by Medicare: {{procedure.covered}}</p>
<p>Average total payments: {{procedure.payments}}</p>
</div>
</li>
</ul>
这是小提琴:http://jsfiddle.net/asmKj/
您还可以使用ng-class
来切换课程:
<div class="procedure-details" ng-class="{ 'hidden': ! showDetails }">
我更喜欢这个,因为它允许你做一些很好的过渡:http://jsfiddle.net/asmKj/1/
另一答案
使用ng-show
并在show
处理程序中切换ng-click
范围变量的值。
这是一个有效的例子:http://jsfiddle.net/pvtpenguin/wD7gR/1/
<ul class="procedures">
<li ng-repeat="procedure in procedures">
<h4><a href="#" ng-click="show = !show">{{procedure.definition}}</a></h4>
<div class="procedure-details" ng-show="show">
<p>Number of patient discharges: {{procedure.discharges}}</p>
<p>Average amount covered by Medicare: {{procedure.covered}}</p>
<p>Average total payments: {{procedure.payments}}</p>
</div>
</li>
</ul>
以上是关于在ng-repeat中单击显示隐藏的div的主要内容,如果未能解决你的问题,请参考以下文章
当点击另一个 div 时,在 ng-repeat 中隐藏一个 div on ng-click