2016-08-05 50 views
3

我使用ng-repeat來顯示很多項目,如果有任何正在加載的項目,我想顯示ion-spinnerAngular/Ionic:組件正在加載時如何顯示我的微調框

這是我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加載

我怎樣才能做到這一點的自定義組件?由於

+0

檢查我的修改答案。 –

回答

1

您可以創建工廠,使API調用和MultiLoading.hide()響應送達後顯示之前一樣MultiLoading.show()

工廠

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

使用它在控制器

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

我正在使用'',因爲我想要一個自定義的微調,我不希望它是像'$ ionicLoading'的完整頁面 –

+1

您可以使用離子-spinner在模板裏面像** $ ionicLoading.show({template:'描述不能爲空... ',動畫:'淡入',showBackdrop:true,maxWidth:200,showDelay:0,持續時間:1000}); ** – Anuj

+0

哦,那很好。無論如何,我的問題不是關於如何製作微調器,而是如何知道何時將其隱藏起來 –

相關問題