轉到您要顯示ActivityIndicator並添加頂部的頁面:
<ActivityIndicator [busy]="isLoading" [visibility]="isLoading ? 'visible' : 'collapse'" row="1" horizontalAlignment="center" verticalAlignment="center"></ActivityIndicator>
你將不得不在這個頁面的組件來創建一個名爲isLoading新的屬性,並將其初始化爲false:
isLoading = false;
現在,你有這個屬性的最後一步是當你的數據加載到顯示loader.This會根據您的實現而改變這一屬性設置爲true。但爲了解釋起見,我們可以考慮你已經編寫了一些服務來處理數據的提取,並且我們正在我們的組件中訂閱它。爲此,我將利用ngOnInit()函數來申請開通此項服務並顯示activityIndicator如下
ngOnInit() {
this.isLoading = true; //setting isLoading to true in order to show the loader
this.SomeService.load()
.subscribe(res => {
//do stuff with the data
//like iterate ,bind etc
this.isLoading = false; // setting the isLoading property back to false after doing req. stuff.
});
}
,就是這樣。我希望這能幫到您。
問題正是實現以及綁定isLoading屬性的問題。 不幸的是,我不需要將spinner掛接到任何類型的數據加載開始/結束,或外部服務異步活動,而是加載和呈現頁面本身。所以我想,在這種情況下,ngOnInit()生命週期是無用的,因爲在初始化完成之後它由Angular Component觸發。 –
讓我試着更好地解釋它:我需要在從頁面A到頁面B的頁面轉換被觸發(當用戶點擊頁面上的listitem時)並且直到頁面轉換完成時顯示加載。 只需要平臺解析路由條目並將新頁面放入框架的時間即可。 因此,當用戶仍在查看頁面A時,微調器可能會顯示 –