Javascript 角度UI引导Accordion向标头添加类
我有下面的手风琴,很好用Javascript 角度UI引导Accordion向标头添加类,javascript,angularjs,twitter-bootstrap,accordion,Javascript,Angularjs,Twitter Bootstrap,Accordion,我有下面的手风琴,很好用 <accordion-group is-open="open.first"> <accordion-heading> My Title </accordion-heading> </accordion-group> 我想我必须作为一个指令来做,但不太确定如何做?假设您在指令上使用ng repeat,您可以这样做: <accordion-group ng-repea
<accordion-group is-open="open.first">
<accordion-heading>
My Title
</accordion-heading>
</accordion-group>
我想我必须作为一个指令来做,但不太确定如何做?假设您在
指令上使用ng repeat
,您可以这样做:
<accordion-group ng-repeat="group in groups" ng-init="group.isOpen = false" ng-class="{'open': group.isOpen}" is-open="group.isOpen">
这将初始化
ng init
中名为isOpen
的新$scope
变量,该变量附加到要重复的单个组(group.isOpen
)。在上面的示例中,我将其设置为false,以便在加载时关闭所有手风琴组,然后将该变量指定给是打开的。当您单击或“打开”其中一个手风琴组时,指令将自动将group.isOpen
更改为true
。这将允许ng类
表达式也计算true
,并将类“open”添加到DOM中的面板标题。使用developertools“f12”,我看到面板在打开时添加了一个“in”类。从那里可以执行以下操作:$(This).addClass('someClass')$触发器('cssClassChanged')$(其他选择器).bind('cssClassChanged',数据,函数(){do stuff});这是内容面板,切换时标题面板没有添加任何内容。当我尝试添加它时,由于纯jquery,它似乎不会触发,我认为由于页面加载和视图加载时间不同等原因,我认为需要通过myModule.directive('my-directive',['$animate',函数($animate)中的directivemodified副本添加它{return function(scope,element,attrs){element.on('click',function();
$('.panel-heading .panel-title').on('click', function () {
$(this).toggleClass('actives');
});
<accordion-group ng-repeat="group in groups" ng-init="group.isOpen = false" ng-class="{'open': group.isOpen}" is-open="group.isOpen">