의료 절차의 json 파일을 필터링하는 Angular.js 앱에서 작업 중입니다. 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>