在angularjs中获取ng-click函数中元素的属性
我有一个像下面这样的span标签,当点击时在控制器中调用一个函数。
HTML
<div class="row" ng-repeat="event in events"> <div class="col-lg-1 text-center"> <span class="glyphicon glyphicon-trash" data={{event.id}} ng-click="deleteEvent()"> </span> </div> </div> 调节器
 $scope.deleteEvent=function(){ console.log(this); } 
我需要在控制器函数中获取data属性中的值。 我尝试使用这个关键字和$事件; 没有人工作。
请帮忙。
尝试直接传递给ng-click函数:
 <div class="col-lg-1 text-center"> <span class="glyphicon glyphicon-trash" data="{{event.id}}" ng-click="deleteEvent(event.id)"></span> </div> 
那么它应该在您的处理程序中可用:
 $scope.deleteEvent=function(idPassedFromNgClick){ console.log(idPassedFromNgClick); } 
这是一个例子
 更简单的是,将$event对象传递给ng-click来访问事件属性。 举个例子: 
 <a ng-click="clickEvent($event)" class="exampleClass" id="exampleID" data="exampleData" href="">Click Me</a> 
 在你的clickEvent() = function(obj) {}函数中,你可以像这样访问data值: 
 var dataValue = obj.target.attributes.data.value; 
 哪个会返回exampleData 。 
这是一个完整的jsFiddle 。
除Brett DeWoody的答案之外(现在更新)
 var dataValue = obj.srcElement.attributes.data.nodeValue; 
在IE(9+)和Chrome中工作正常,但Firefox不知道srcElement属性。 我发现:
 var dataValue = obj.currentTarget.attributes.data.nodeValue; 
适用于IE,Chrome和FF,我没有testingSafari。