事件中的Angular JS发送元素

时间:2016-09-16 15:45:56

标签: html angularjs

希望这和我想象的一样容易,我的大脑已经死了,但我找不到任何人在网上这样做。

<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>
        &nbsp;
        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。

1 个答案:

答案 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 =.....
然后您可以在该功能之外重复使用。