2015-12-03 171 views
1

我使用角度自举ui 0.14.3。所有手风琴开启/关闭时一次打开和关闭一次

当我点击任何动态生成的手风琴,然后所有他们打开/关闭。这里有点问题。

我只希望只有一个我点击打开/关闭。

我已经设置近距离他人=“真”,但多数民众赞成在不工作...

什么我错了吗?

的Html

<uib-accordion close-others="true"> 
      <uib-accordion-group is-open="status.isFirstOpen" ng-repeat="t in tests"> 
       <uib-accordion-heading> 
        {{t.schoolclassCode}} 

        <span style="background:orange;">{{t.type}}</span> 
        <span style="background:green;">{{t.number}}</span> 
        <span style="background:aliceblue;">{{t.date}}</span> 
        <i class="pull-right glyphicon" ng-class="{'glyphicon-chevron-down': status.isFirstOpen, 'glyphicon-chevron-right': !status.isFirstOpen}"></i> 
       </uib-accordion-heading> 
       My dynamic content 
      </uib-accordion-group> 
     </uib-accordion> 

控制器

function TestsController($scope, tests) { 

     $scope.tests = tests; 

     $scope.oneAtATime = true; 


     $scope.status = { 
      isFirstOpen: true, 
      isFirstDisabled: false 
     }; 
    } 

回答

2

这是因为你的is-open="status.isFirstOpen"这是在所有的uib-accordion-group相同的变量。当你打开或关闭一部手风琴时,其他人正在观看同一个变量,并且会做同样的事情。你必须使用一个数组来为每个手风琴组定义一个唯一的变量。我以你为例here

<uib-accordion close-others="false"> 
<uib-accordion-group ng-repeat="group in groups track by $index" is-open="accordionArray[$index]"> 
    <uib-accordion-heading> 
    {{group.title}} 
    <i class="pull-right glyphicon" ng-class="accordionArray[$index] ? 'glyphicon-chevron-down':'glyphicon-chevron-right'"></i> 
    </uib-accordion-heading> 
    {{group.content}} 
</uib-accordion-group> 

,这在控制器$scope.accordionArray = []

+1

这是在范围内,您可以在本例中的js文件[http://plnkr.co/edit/QjLw2FcZQh4gQREpgoiz?p=preview发现](http://plnkr.co/edit/QjLw2FcZQh4gQREpgoiz?p=preview) – Thib

相关问题