2016-08-05 16 views
3

多くのアイテムを表示するのにng-repeatを使用していますが、ロードするアイテムがある場合はion-spinnerを表示します。角度/ Ionic:コンポーネントのロード中にスピナーを表示する方法

<div> 
    <ion-spinner icon="ripple"></ion-spinner> 
</div> 
<ion-list> 
    <ion-item 
    ng-repeat="item in items" 
    ng-show="rendered"> 
    <mycomp on-render="rendered = $(completed)"></myomp> 
    </ion-item> 
</ion-list> 

<mycomp>は、コールがon-render

私はこれをどのように行うことができます読み込まれていることを、サーバからデータを取得するカスタムコンポーネントです:

これは私のIonicテンプレートですか?おかげ

+0

修正した回答を確認してください。 –

答えて

1

でそれを使用してください。

工場

app.factory('MultiLoading', function($ionicLoading) { 
//Loading indicator 
var loading = { 
    opened: 0, 
    show: function() { 
     if (loading.opened > 0) 
      return; 
     $ionicLoading.show({ 
      noBackdrop :false, 
      template: '<ion-spinner icon="ripple"></ion-spinner>', 
      duration :20000 
     }); 
     loading.opened+=1; 
    }, 
    hide: function() { 
     loading.opened = 0; 
     $ionicLoading.hide(); 
    } 
}; 
return loading; 
}); 

よろしく。

+1

私はこれを使用しませんでしたが、それは良い解決策を見つけるのを助けました。 私のコンポーネントを ''に変更し、 'ng-hide =" count == 0 "'を私のスピナーに入れました。スコープ内の1変数 'count'が実行されます。ありがとう! –

0

はあなたが工場を作成し、応答が提供された後、APIコールとMultiLoading.hide()を行う前にMultiLoading.show()のように示すことができるコントローラー

$ionicLoading.show({content: 'Loading', animation: 'fade-in',showBackdrop: true, maxWidth: 200,showDelay: 0}); 
+0

私は '$ ionicLoading'のようにフルページにしたくないので、' 'を使用しています。 –

+1

あなたはイオンを使うことができます** $ ionicLoading.show({template: '説明は空白にできません... Anuj

+0

ああ、いいですね。いずれにせよ、私の質問は、スピナーを作る方法ではなく、いつ私のそれを隠すかを知る方法です。 –

関連する問題