【问题标题】:pull to refresh in ionic does not refresh my list在 ionic 中拉动刷新不会刷新我的列表
【发布时间】:2016-07-07 07:26:34
【问题描述】:

使用 ionic pull 刷新功能不会更新我的列表。调用函数并在控制台中从服务中检索数据,但不会刷新我的列表。

这是我的看法:

        <ion-list>
            <ion-item class="list card" ng-repeat="pickup in pickups">
                <div class="item">
                    <h2>{{pickup.title}}</h2>

                    <p>Request Date : {{pickup.added_date}}</p>

                    <p>Status :
                        <span class="positive" ng-if="pickup.status==0">On Queue</span>
                        <span class="energized" ng-if="pickup.status==1">On Process</span>
                        <span class="balanced" ng-if="pickup.status==2">On Collected</span>
                        <span class="assertive" ng-if="pickup.status==2">Cancelled</span>
                    </p>
                </div>

                <div class="item item-body">
                    <p>Contact : {{pickup.b_contact}}</p>

                    <p>Location : {{pickup.b_location}}</p>

                    <p>
                        <a class="button circular-btn icon ion-android-done button-energized" href="#"
                           ng-click="statusData(pickup.pickupid,pickup.user_id,1)"
                           ng-if="pickup.status==0"></a>
                        <a class="button circular-btn ion-android-done-all button-balanced" href="#"
                           ng-click="statusData(pickup.pickupid,pickup.user_id,2)"
                           ng-if="pickup.status==0|| pickup.status==1"></a>
                        <a class="button circular-btn icon ion-close-circled button-assertive" href="#"
                           ng-click="statusData(pickup.pickupid,pickup.user_id,3)"
                           ng-if="pickup.status==0|| pickup.status==1|| pickup.status==2"></a>
                    </p>
                </div>

            </ion-item>
        </ion-list>
    </ion-content>

我的控制器代码:

.controller('AppCtrl', function ($scope, Service, $ionicLoading, $ionicModal, $ionicPopup, $timeout, $state, $http, $stateParams) {

$scope.doRefresh = function () {
    Service.getpickup($state, $http).success(function (data) {
        $scope.pickups = data.pickup_request;
        console.log(data.pickup_request);
    })
        .finally(function () {
            $scope.$broadcast('scroll.refreshComplete');
        });
}
  });

请指导我。提前致谢。

【问题讨论】:

  • &lt;ion-refresher pulling-text="Pull to refresh..." on-refresh="doRefresh()"&gt; &lt;/ion-refresher&gt; 你添加了这个吗?
  • 是的,对不起,我忘了在上面显示

标签: ionic-framework hybrid-mobile-app


【解决方案1】:
  • 您是否在 html 中使用了 ion-refresher 标签?我在你的代码中看不到它。如果没有,请使用此

    <ion-refresher pulling-text="Pull to refresh..." on-refresh="doRefresh()">
    
  • 另外,尝试像这样手动将项目添加到您的列表中,看看是否有效。 (检查 data.pickup_request 也是一个数组)

    $scope.pickups.push.apply($scope.pickups, data.pickup_request);
    

【讨论】:

  • 我已经安慰了 console.log($scope.pickups);我得到了更新的数据,但视图没有更新
  • 可以试试 push.apply 吗?
  • 我用过 $scope.pickups.push.apply($scope.pickups, data.pickup_request);正如你的建议,但我一点运气都没有,尽管 $scope.pickups 已经更新了值但没有显示在视图中
  • 你能做一个plunker吗?我可以看看
  • 抱歉我不能,因为它正在进行的项目
【解决方案2】:

我发现了问题。我在pickerCtrl 中有视图,但我在另一个控件中调用范围函数。谢谢大家的指导。非常感谢。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-03-23
    • 2018-08-22
    • 1970-01-01
    • 2021-12-19
    • 1970-01-01
    • 2019-01-19
    • 2012-01-01
    • 1970-01-01
    相关资源
    最近更新 更多