在AngularJS中获取被点击元素的ID

我的Angular控制器看起来像这样:

angular.module('spark') .controller('MainCtrl', ['$scope', '$location', function ($scope,$location) { $scope.handleThisElement = function (event) { alert(event.target.id); } $scope.changeView = function(view){ $location.path(view); } }]); 

我的HTML看起来像这样:

  ...  

应用程序路由到不同视图之前会弹出警报,这就是我想要的。 但是当它出现时,警告框是空的。 如何让它读取点击链接的ID(即’testID’)?

只需发布为快速答案,您可以使用event.currentTarget而不是event.target来获取绑定已注册的元素。 在这种情况下,ng-click会绑定到您应用它的元素,因此您应该获取该元素。 正如评论中所提到的,这是一种非典型的方式,因为它将Controller与DOM联系起来,这意味着Controller无法独立于特定的DOM进行测试或使用(破坏可测试性)。