希望这和我想象的一样容易,我的大脑已经死了,但我找不到任何人在网上这样做。
<div class="item" ng-repeat="group in groups">
<ion-item class="item-stable"
ng-click="toggleGroup(group)"
ng-class="{active: isGroupShown(group)}">
<i class="icon" ng-class="isGroupShown(group) ? 'ion-minus' : 'ion-plus'"></i>
Group {{group.name}}
</ion-item>
<ion-item class="item-accordion"
ng-repeat="item in group.items"
ng-show="isGroupShown(group)">
{{item}}
</ion-item>
</div>
示例:https://codepen.io/anon/pen/ORXWkp
除非我不想拥有&#34;组&#34;。顶部只有一个div,所以我需要一种通过isGroupShown()方法发送div的方法。
我想在其他地方重用这些方法,所以我不想得到这个元素并以这种方式改变它。即:
var multibutton = angular.element(element.getElementsByClassName("multi-files"));
然后在isGroupShown()方法中使用multibutton。
编辑:基本上,我想知道运行这些函数的父div。
答案 0 :(得分:0)
1)也许你用
var multibutton = angular.element(element.getElementsByClassName("multi-files")[0]);
而不是:
var multibutton = angular.element(element.getElementsByClassName("multi-files"));
因为getElement s ByClassName返回数组,与getElementById
相比
2)可能问题在于局部变量声明。只需删除var
:
var multibutton = ...
至multibutton =.....
然后您可以在该功能之外重复使用。