Angular UI-Bootstrap 0.7.0 Свернуть

Я использую функцию сворачивания UI-Bootstrap (http://angular-ui.github.io/bootstrap/#/collapse), но когда я использую свертывание/переключатель, он теряет данные и просто возвращает «true».

Вот плункер, чтобы показать мою проблему, http://plnkr.co/edit/e689Wureay8AMZQ9IIno?p=preview

Фрагмент кода:

<div ng-repeat="name in names | filter:radioModel:true">
 <span ng-model="namesList" ng-click="name = !name">Toggle collapse {{name.firstName}}</span>
 <hr>
 <div ng-show="name">
 <div class="well well-large">{{name}} -</div> 
</div>


person Mackelito    schedule 29.11.2013    source источник


Ответы (1)


Это потому, что вы перезаписываете name в ng-click здесь: ng-click="name = !name". Это сделает name true или false, в зависимости от того, сколько раз было вызвано ng-click.

Что вам нужно, так это переключить свойство модели на collapse/uncollapse следующую деталь:

    <div ng-repeat="name in names | filter:radioModel:true" >
      <!-- change the property name.collapsed -->
      <span ng-model="namesList" ng-click="name.collapsed = !name.collapsed">Toggle collapse {{name.firstName}}</span>
      <hr>

      <!-- use ng-hide to "collapse" -->
      <div ng-hide="!!name.collapsed">
        <div class="well well-large">{{name}} -</div> 
      </div>
    </div>

Рабочая демонстрация: http://plnkr.co/edit/at7ceCYDXwWWlqUlKnkQ?p=preview

person musically_ut    schedule 29.11.2013
comment
OMG!.. как я мог не видеть это, ха-ха!... Спасибо! - person Mackelito; 29.11.2013
comment
@Mackelito Бывает со всеми. :) - person musically_ut; 29.11.2013