#angularjs
#angularjs
Вопрос:
какова область видимости переменной showDetails. Ограничена ли она своим собственным li или влияет на все li в ul. полный код приведен в http://jsfiddle.net/asmKj /
ul class="procedures" ng-app ng-controller="sample">
<li ng-repeat="procedure in procedures">
<h4><a href="#" ng-click="showDetails = ! showDetails " >{{procedure.definition}} </a></h4>
<div class="procedure-details" ng-show="showDetails">
<p>Number of patient discharges: {{procedure.discharged}}</p>
</div>
</li>
Ответ №1:
В случае ng-repeat, если вы создадите или используете переменную, как вы сделали с полем showDetails , она создаст отдельную справку для каждого типа элемента, в данном случае у нее будет по одной для каждого li
.
Теперь для тестирования того же самого вы можете создать переменную области видимости с тем же именем, что и $scope.showDetails
, и установить для нее по умолчанию значение true, а затем запустить ее . Вы увидите, что все детали будут видны во время загрузки, но при повторном нажатии это повлияет только на зависимую.
Итак, сначала это будет переменная для каждого элемента li и предоставит ей значение из переменной scope.
Проверьте этот fiddel Fiddel
Ответ №2:
Это означает, что переменная процедур ограничена образцом контроллера, она будет доступна только в этом контроллере. Которая обеспечивает синхронизированную связь с контроллером для просмотра.
Ответ №3:
ограниченная собственным li, она не повлияет на другие li в соответствии с ul.