angularjs - Does ngClick attach a click handler to every item if put in an ngRepeat -
i displaying 500+ rows of data in table , using ngclick on every row display more info each row:
<tr ng-repeat="row in displaydata.rows track $index"> <td><span ng-click="orderdetails(row.ordernumber)" class="glyphicon glyphicon-plus"></span></td><td>{{row.ordernumber}}</td><td>{{row.shiptocompany}}</td><td>{{row.ordertime}}</td><td>{{row.clientid}}</td><td>{{row.shiptoattention}}</td><td>{{row.shipmethod}}</td><td>{{row.whenlastshipped}}</td> </tr>
with vanilla js put click handler on whole table , use event figure out row clicked. there way same thing angular, or angular doing already? don't want attaching 500+ click handlers on page if doing and/or there better way same result.
you can use single ng-click
on whole table rather each row http://jsfiddle.net/x2jjdo88/1/
html:
<body ng-app="myapp"> <div ng-controller="mycontroller"> <table ng-click="tableclick($event)"> <tr ng-repeat="row in rows track $index" style="background:#666"> <td>{{row}}</td> </tr> </table> </div> </body>
js:
var app = angular.module('myapp',[]); app.controller('mycontroller', function($scope) { $scope.rows = [1,2,3,4,5]; $scope.tableclick = function($event) { var scope = angular.element($event.target).scope(); console.log(scope.$index); }; });
Comments
Post a Comment