2016-09-28 30 views
0

我可以看pagingOptions.pageSizepagingOptions.currentPage当他们被改变。

//watch pagingOptions[pageSize] 
    $scope.$watch('pagingOptions', function(newVal, oldVal) { 
    if (newVal !== oldVal && newVal.pageSize !== oldVal.pageSize) { 
     $scope.getPagedDataAsync($scope.pagingOptions.pageSize, $scope.pagingOptions.currentPage, $scope.filterOptions.filterText); 
    } 
    }, true); 

    //watch pagingOptions[currentPage] 
    $scope.$watch('pagingOptions', function(newVal, oldVal) { 
    if (newVal !== oldVal && newVal.currentPage !== oldVal.currentPage) { 
     $scope.getPagedDataAsync($scope.pagingOptions.pageSize, $scope.pagingOptions.currentPage, $scope.filterOptions.filterText); 
    } 
    }, true); 

也我按照下面的方式测试,它不起作用。它不起作用。

$scope.$watch('pagingOptions', function(newVal, oldVal) { 
    if (newVal !== oldVal && newVal.currentPage !== oldVal.currentPage && newVal.pageSize !== oldVal.pageSize) { 
     $scope.getPagedDataAsync($scope.pagingOptions.pageSize, $scope.pagingOptions.currentPage, $scope.filterOptions.filterText); 
    } 
    }, true); 

回答

0

我总是代码我的观察是这样的:

$scope.$watch(function() { 
    return $scope.pagingOptions; 
}, function(newVal, oldVal) { 
    // handle the changes here 
}, true); 

我认为这将解决您的问题,我个人遇到过去同样的问题,他们固定这样。祝你好运! 。

+0

$范围$表(函数(){ \t \t回$ scope.pagingOptions; \t},功能(的newval,OLDVAL){ \t \t $ scope.getPagedDataAsync($ scope.pagingOptions.pageSize,$范围.pagingOptions.currentPage,$ scope.filterOptions.filterText); \t},true); – Leslie

+0

通过简单的代码工作。谢谢 – Leslie