javascript - 如何通过单击按钮从内部关闭 uib-accordion

标签 javascript angularjs angular-ui-bootstrap accordion

我想通过单击按钮从内部关闭 Accordion 。我试图将 isOpen 设置为 false 但它不起作用。有没有办法在单击按钮时关闭它?谢谢。

这里是傻瓜:https://plnkr.co/edit/3xMnWRPOoEHPmguaQxd0?p=preview

<div uib-accordion-group is-open="isOpen" class="panel-default" heading="{{group.title}}" ng-repeat="group in groups">
  {{group.content}}
  <button ng-click="close()">close this</button>
</div>

$scope.groups = [
    {
      title: 'Dynamic Group Header - 1',
      content: 'Dynamic Group Body - 1'
    },
    {
      title: 'Dynamic Group Header - 2',
      content: 'Dynamic Group Body - 2'
    }
  ];


  $scope.isOpen = false;

  $scope.close = function(){
    $scope.isOpen = false;
  }

最佳答案

我将 isOpen 放在集合中,以便为每个 Accordion 药丸单独切换(使每个药丸单独切换)并且它有效,检查下面的代码:

Controller :

$scope.groups = [
{
  title: 'Dynamic Group Header - 1',
  content: 'Dynamic Group Body - 1',
  isOpen: false
},
{
  title: 'Dynamic Group Header - 2',
  content: 'Dynamic Group Body - 2',
  isOpen: false
}
];

$scope.items = ['Item 1', 'Item 2', 'Item 3'];

$scope.addItem = function() {
  var newItemNo = $scope.items.length + 1;
  $scope.items.push('Item ' + newItemNo);
};

$scope.close = function(group){
  group.isOpen = false;
};

查看:

<div uib-accordion-group is-open="group.isOpen" class="panel-default" heading="{{group.title}}" ng-repeat="group in groups">
  {{group.content}}
  <button ng-click="close(group)">close this</button>
</div>

我修改了你的plunker: https://plnkr.co/edit/pBT0fbNJtQhgc5kZlLbO?p=preview

关于javascript - 如何通过单击按钮从内部关闭 uib-accordion,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40300276/

相关文章:

javascript - 复制要添加到同一数组的最后一个数组对象

javascript - vscode动态es6模块导入报错

javascript - 在 Angular JS 中通过映射键进行过滤

javascript - Angularjs:有没有办法从bootstrap ui typeahead的下拉列表中删除所选项目?

php - 单击即可更新记录

angularjs - 使用 AngularJS : Bind a radio button input to a Boolean with possible null value

javascript - Angular google maps自定义图标仅在更新标记时有效

angularjs - uib-tooltip-html 不工作

AngularJS UI Modal 和 select 不会更新范围值

javascript - obj.prototype = new ParentObj(); 之后的对象方法消失了在 JavaScript 中