2016-07-11 8 views
0

ニュースフィードがイオンで読み込まれるのを待つ間にスピナーを表示するにはどうすればよいですか?新しいフィードを読み込んでいるときにスピナーを表示

.controller('feedsctrl',['$scope','$http',function($scope,$http){ 
    $http.get('http://example.com/feeds.php').success(function(data){ 
      $scope.feeds=console.log(data) ; 
      $scope.feeds=data; 

      $scope.numberOfItemsToDisplay = 5; // Use it with limit to in ng-repeat 
    $scope.addMoreItem = function(done) { 
     if ($scope.feeds.length > $scope.numberOfItemsToDisplay) 
      $scope.numberOfItemsToDisplay += 5; // load number of more items 
      $scope.$broadcast('scroll.infiniteScrollComplete') 
    } 

HTML

<ion-infinite-scroll on-infinite="addMoreItem()" distance="1%" 
ng-if="feeds.length > numberOfItemsToDisplay"> 
</ion-infinite-scroll> 
+0

リクエストからのコールバックが完了するまでフィードビューを非表示にし、divを含むdivを表示して、フィードビューを表示してコードのコールバック完了部分に画面を表示しないようにできます。 –

答えて

0

everyouがしたいとき、最初は

$scope.something=false; 

それはfalseとして作るあなたのhtmlに

あなたのjsで今
<div ng-show="something"> 
     <img src="../../images/Splash_Screen_logo (2).png" /> 

</div> 

をこのようなスピナーを定義しますニュースフィードを読み込んでから変更するあなたのデータは完全にロードした後、真

$scope.something=true; 

にもう一度、あなたのスピナーディレクティブ(あなたは1を持っていると仮定)はngShow/ngHide/ngIf好ましくはサービスのboolean変数に接続している必要があります偽

0

に割り当て$scopeでも構いません(または、どこからでもブロードキャストを取得するために$scope.$onイベントで)。フィードをロードする前に変数をtrueに切り替えると、読み込まれたフィードはfalseに切り替わります。

関連する問題