在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?

当点击另一个 div 时,在 ng-repeat 中隐藏一个 div on ng-click

如何从代码隐藏c#中显示隐藏的div

片段隐藏在Android中不起作用

单击时隐藏和显示 div,带有绝对位置的动画,并在隐藏时将其删除

单击表单按钮后,隐藏按钮 div 并显示隐藏的 div