angular-ui-bootstrap手风琴折叠/展开全部

时间:2014-01-02 16:44:43

标签: angularjs accordion angular-ui-bootstrap

我想为一组手风琴创建一个collpase / expand all按钮。我正在使用angular.js v1.2.6和angular-bootstrap-ui 0.9.0。我无法找到如何进行collpase / expand all的示例。我是一个有角度的新手,任何意见或建议都表示赞赏。

另外,我应该补充说this post中的解决方案在我使用的较新版本的angular.js(v1.0.8 vs v1.2.6)中不起作用(这是最新版本的这个帖子的时间)。在较新的版本中,它会抛出一个关于尝试创建两个独立范围的错误。

标记:

    <div ng-controller="myCtlr">

     <accordion close-others="oneAtATime">

     <button class="btn" ng-click="section.isCollapsed = !section.isCollapsed">Toggle Sections</button>

      <accordion-group ng-repeat="section in sections" is-open="section.isOpen">
       <accordion-heading>
        <div class="accordion-heading-content" ng:class="{collapsed: section.isOpen}">
          {{section.name}}
        </div>
       </accordion-heading>
        Section content
      </accordion-group>

     </accordion>

   </div>

JS:

var theapp = angular.module('myApp', [
  'ui.bootstrap'
])

function myCtlr ($scope) {
 $scope.isCollapsed = false;
 $scope.sections = [
    {'id': '353','otherid': '7','name': 'One','Sequence': '1'},
    {'id': '354','otherid': '8','name': 'Two','Sequence': '1'},
    {'id': '355','otherid': '9','name': 'Three','Sequence': '1'}
];

}

1 个答案:

答案 0 :(得分:0)

以下是使用is-open属性的方法。 http://plnkr.co/edit/MliW41xGJAF0Mnw4Rgu7?p=preview