IonicFramework:拉到刷新不起作用

时间:2015-02-13 20:04:49

标签: angularjs ionic-framework

我第一次尝试使用Ionic Pull to Refresh tool,但仍然没有为我工作

这是一个控制器,我在调用工厂/服务,以便在视图中显示运动列表

.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>

有没有人有想法?

1 个答案:

答案 0 :(得分:3)

您的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');
    };
};
相关问题