IonicFramework:拉动刷新不起作用

IonicFramework: Pull to Refresh not working

我第一次尝试使用 Ionic 的 Pull to Refresh tool,但仍然不适合我

这是一个控制器,我在其中调用 factory/service 以便在视图中显示运动列表

.controller('sportsCtrl', function($scope, SportsFactory, AuthFactory) {

 $scope.sports = [];

    AuthFactory.getCustomer().then(function(customer) {
      $scope.customer = customer;
      SportsFactory.getSportsWithLeagues(customer).then(function(sports) {
        if (sports.length) {
          $scope.sports = sports;
        }else {
          AuthFactory.logout();
        }
     //Here is the function to call the refresher//
        $scope.doRefresh = function() {
          $scope.sports = sports;
          $scope.$broadcast('scroll.refreshComplete');
          $scope.$apply();
        };
    //////////////////////////////////////////////
      }, function(err) {
        console.log(err);
      });
    }
})

HTML

<ion-refresher
  pulling-text="Pull to refresh..."
  on-refresh="doRefresh()">
</ion-refresher>

有人有想法吗?

您的 doRefresh() 定义在错误的位置。它在 getSportsWithLeagues 的解析函数中定义。它应该在控制器上定义为 属性。代码全乱了,这个应该是比较好的操作顺序:

$scope.doRefresh = function() {
    AuthFactory.getCustomer().then(function(customer) {
        $scope.customer = customer;
        SportsFactory.getSportsWithLeagues(customer).then(function(sports) {
            if (sports.length) {
                $scope.sports = sports;
            }else {
                AuthFactory.logout();
        }, function(err) {
            console.log(err);
        });
    $scope.$broadcast('scroll.refreshComplete');
    };
};