获取ngClick指令中的元素

时间:2014-09-20 13:34:39

标签: javascript angularjs angularjs-directive

是否可以在ngClick指令中获取当前元素对象。例如:

<div data-ng-click=" $element.hide() "> ... </div>

其中$ element是div元素的jquery包装器。我知道我可以为此编写自己的指令,但我不想为每一项微不足道的任务做这件事。也许有人有想法?

3 个答案:

答案 0 :(得分:0)

<强> Working DEMO

您可以更好地在控制器中执行此操作:

function HomeCtrl($scope, $element) {
  $scope.hideElement = function() {
    $($element).hide();
  }
}

HTML:

<div data-ng-click="hideElement()">Hide me</div>

答案 1 :(得分:0)

在ng-click中,您始终也有本机事件,该事件通过$ event提供。

所以你可以这样做:

$scope.hideElement = function($event) {
    $($event.target || $event.srcElement).hide();
}

并在您的模板中使用它,如:

<div data-ng-click="hideElement($event)">Hide me</div>

演示:http://jsfiddle.net/bezLr0f5/

答案 2 :(得分:0)

使用ng-hide

<div data-ng-hide="hideIt" data-ng-click="hideIt = true">Hide Me</div>

或者您可以创建一个具有动画的指令 https://stackoverflow.com/a/25953153/4062004