angularjs - why does my tr ng-repeat dissapear when clicking on pagination links -
using angular-bootstrap server-side pagination , $resource/$http. running search , returning multiple records. use ng-repeat on tr element populate table. fine. issue arises when click on pagination button. before happens, (ie. resource calls or dom manipulation) tr using ng-repeat on removed dom. ideas why , how avoid in future?
my html, tr element:
<tr class="animate-repeat" ng-repeat="agent in agentdatamodel"> pagination html
<div class="text-center"> <pagination data-ng-model="agentdatamodel" data-page="agentdatamodel.currentpage" data-total-items="agentdatamodel.totalitems" data-items-per-page="25" data-max-size="5" data-ng-change="setpage(2)" > </pagination> </div> my controller - submit search function
$scope.submitsearch = function(newsearchval, pageno) { $rootscope.moduleloading = true; agentservice.get(newsearchval) .$promise.then( function success(r) { $rootscope.moduleloading = false; if(typeof r.total_items !== 'undefined') { if(r.total_items > 0 ) { // may 1 or multiple results (variable results) // fetch agents , map data $scope var $scope.$parent.agentdatamodel = r._embedded.agents; // set pagination options $scope.$parent.agentdatamodel.itemsperpage = r.page_size; $scope.$parent.agentdatamodel.page_count = r.page_count; $scope.$parent.agentdatamodel.totalitems = r.total_items; $scope.$parent.agentdatamodel.currentpage = 1; $scope.$parent.agentdatamodel.links = r._links; $scope.$parent.agentdatamodel.next = r._links.next.href; $scope.$parent.agentdatamodel.page = r.page; // set flags $scope.$parent.singleresult = false; $scope.$parent.showresult = true; // debug if($rootscope.env === 'dev') {dev.log('page changed to: ' + $scope.$parent.currentpage);} } else { // hmmm no results? set flags $scope.$parent.singleresult = false; $scope.$parent.showresult = false; $scope.$parent.alert.info = true; showinfoalert('we found 0 agents search.','n'); } } else { // absolutly 1 result ready form view // set flags $scope.$parent.showresult = true; $scope.$parent.singleresult = true; $scope.$parent.ishidden = false; // set single agent data $scope.$parent.agentdatamodel = r; } }, function error(msg) { $rootscope.moduleloading = false; dev.log('error'); dev.log(msg); var myerror = msg; var thequery = myerror.config.params.query; var myerrorurl = myerror.config.url; var myerrortype = myerror.data.type; var myerrortitle = myerror.data.title; var myerrorstatus = myerror.status; var myerrorstatustext = myerror.statustext; var myerrordetail = myerror.statustext; var myerrormsg = "fatal error - search query ?query="+ thequery +"! url: " + myerrorurl + " responded status of " + myerrorstatus +": "+ myerrorstatustext + ". details: " + myerrordetail+". "+ "please click link send error report <a href='mailto:xxxxx@xxxxxx.com?subject=search error&body="+myerrorurl+"'>" + myerrorurl + "</a>."; showerroralert(myerrormsg); } ); }; of course appreciated
Comments
Post a Comment