当我得到以下例子时:
<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中。那不是很好。
答案 0 :(得分:2)
是的,您可以访问 $ event 。
$ event指令如ngClick和ngFocus会公开$ event对象 在该表达式的范围内。该对象是一个实例 jQuery存在时的jQuery Event Object或类似的jqLite对象。
所以你的代码看起来像是:
$scope.select= function(imageId, clickEvent) {
$scope.myParentId= clickEvent.target.parentElement.id;
$scope.mySelectedImageId = imageId;
};
答案 1 :(得分:2)
您也可以在不使用控制器的情况下执行此操作:
<div ng-init="theId = 'hello'" id="{{theId}}">
<img ng-src="{{image.image}}" ng-click="select(theId)" />
</div>