将当前的HTMLElement传递给ng-click

Fil*_*ipe 10 javascript angularjs

是否可以将HTMLElement传递给控制器​​上配置的ng-click?

这是一些示例代码:

<div ng-controller="Controller">
   <ul ng-repeat="item in items">
      <li ng-click="handleThisElement($element)" id="{{item.id}}" >{{item.name}}</li>
   </ul>
</div>
Run Code Online (Sandbox Code Playgroud)

控制器:

function ($scope) {
  $scope.items = [
    {name: 'Bilbo', id='Bilbo'},
    {name, 'Frodo', id='Frodo'},
    {name: 'Pippin', id='Pippin'},
    {name: 'Merry', id='Merry'},
    {name: 'Sam', id='Sam'}
  ];

  $scope.handleThisElement = function (element) {
     alert(element.id); // should alert (Bilbo || Frodo || Pippin || Merry || Sam)
  }
Run Code Online (Sandbox Code Playgroud)

更新:

不要混淆,我说我想让整个元素不仅仅是模型中的id.

$ event.target - 在某些版本的IE中不起作用.

Cod*_*ate 14

HTML:

<div ng-controller="Controller">
   <ul ng-repeat="item in items">
      <li ng-click="handleThisElement($event)" id="{{item.id}}" >{{item.name}}</li>
   </ul>
</div>
Run Code Online (Sandbox Code Playgroud)

和js:

function ($scope) {
  $scope.items = [
    {name: 'Bilbo', id='Bilbo'},
    {name, 'Frodo', id='Frodo'},
    {name: 'Pippin', id='Pippin'},
    {name: 'Merry', id='Merry'},
    {name: 'Sam', id='Sam'}
  ];

  $scope.handleThisElement = function ($event) {
     alert($event.target.id);
  }
Run Code Online (Sandbox Code Playgroud)