一尘不染

处理Angular中的手风琴打开/折叠事件

angularjs

如果我有此代码:

<accordion-group heading="{{group.title}}" ng-repeat="group in groups">
      {{group.content}}
</accordion-group>

使用AngularJS,angular-ui和Twitter Bootstrap,是否可以使手风琴在打开时调用某些动作?我知道我不能简单地添加ng- click,因为在将其“编译”为HTML来打开/折叠该组之后,已经使用了它。


阅读 442

收藏
2020-07-04

共1个答案

一尘不染

is-open手风琴组上有一个指向可绑定表达式的属性。当给定的手风琴组打开时,您可以观看此表达式并执行一些逻辑。使用此技术,您可以将标记更改为:

<accordion-group ng-repeat="group in groups" heading="{{group.title}}" is-open="group.open">
   {{group.content}}
</accordion-group>

这样您就可以在控制器中准备所需的监视表达式:

$scope.$watch('groups[0].open', function(isOpen){
    if (isOpen) {
      console.log('First group was opened'); 
    }    
  });

尽管上述方法可行,但在实践中使用起来可能有点麻烦,因此,如果您认为可以改进此方法,https://github.com/angular-
ui/bootstrap中打开一个问题

2020-07-04