If you want to pass DOM object with ng-click, you cannot pass using "this" keyword as this keyword will not point to DOM object in this case. You should use $event as parameter in method in ng-click.
I was writing some code in angularjs. I added a div element in my html page and tried to add ng-click event on this element. I added html5 data- attribute to the element and to get this attribute I passed "this" reference into the function. Suddenly, it started throwing error as this was not passing reference to div element. I tried several times but same error was throwing each time.
AngularJS has $event object which keeps reference of the event attached. You should use this object while adding reference instead of this keyword.
You can find element using $event.target attribute.
<div data-id="div1" ng-click="ClickMe(this)">Click Me</div>
<div data-id="div1" ng-click="ClickMe($event)">Click Me</div>
Hope this helps you.