javascript - How to prevent/unbind previous $watch in angularjs -


i using $watch in dynamic way on every call creating $watch while want unbind previous $watch.

$scope.pagination =function(){   $scope.$watch('currentpage + numperpage', function (newvalue,oldvalue) {           $scope.contestlist = response; //getting response form $http   } } 

i have multiple tabs. when tab clicked, pagination function gets called:

$scope.toggletab = function(){     $scope.pagination(); } 

so creating multiple $watch , every time click on tab creates one.

before adding new watch need check if watcher exists or not. if it's there call watcher() remove watcher $scope.$$watchers array. , register watch. ensure watch has been created once.

var paginationwatch; $scope.pagination = function() {     if (paginationwatch) //check watch exists         paginationwatch(); //this line destruct watch if there     paginationwatch = $scope.$watch('currentpage + numperpage', function(newvalue, oldvalue) {             //getting response form $http`             $scope.contestlist = response;         }     }); } 

Comments

Popular posts from this blog

android - MPAndroidChart - How to add Annotations or images to the chart -

javascript - Add class to another page attribute using URL id - Jquery -

firefox - Where is 'webgl.osmesalib' parameter? -