可以ng-click获取父div的id作为参数吗?

时间:2015-09-03 08:23:30

标签: html angularjs angularjs-ng-click

当我得到以下例子时:

<div id="a-div-id">
    <img ng-src="{{image.image}}" ng-click="select(image.id)" />
</div>

我可以以某种方式将div元素的id a-div-id作为参数传递给ng-click函数select()吗?否则我将不得不将div的id存储在我的图像objekt中。那不是很好。

2 个答案:

答案 0 :(得分:2)

是的,您可以访问 $ event

来自angular documentation

  

$ event指令如ngClick和ngFocus会公开$ event对象   在该表达式的范围内。该对象是一个实例   jQuery存在时的jQuery Event Object或类似的jqLit​​e对象。

所以你的代码看起来像是:

$scope.select= function(imageId, clickEvent) {
      $scope.myParentId= clickEvent.target.parentElement.id;
      $scope.mySelectedImageId = imageId;
    };

我做了plnkr where you can reproduce it

答案 1 :(得分:2)

您也可以在不使用控制器的情况下执行此操作:

<div ng-init="theId = 'hello'" id="{{theId}}">
   <img ng-src="{{image.image}}" ng-click="select(theId)" />
</div>

JSFiddle