我有3個不同數據集的Ionic 2應用程序和一個視圖。數據在構造函數中加載,並基於頁面參數中的變量,決定顯示哪個數據集。通過Angular 2/Ionic 2中的構造函數刷新數據
在observable每次成功的數據調用時,加載數據時事件處理程序都會記錄成功。但這隻適用於我第一次點擊/加載視圖。如果我點擊第二或任何其他時間,數據不會重新加載(無日誌)。此外,當我只是控制檯登錄任何東西時,它不會在第二次點擊時顯示。
所以我不知道什麼我應該改變每次加載數據和構造函數如何以這種方式工作。
這就是我的代碼的樣子。 Jsons從namesListProvider中調用。
@Component({
templateUrl: '...',
})
export class ListOfNames {
...
private dataListAll: Array<any> = [];
private dataListFavourites: Array<any> = [];
private dataListDisliked: Array<any> = [];
constructor(private nav: NavController, ...) {
...
this.loadJsons();
console.log('whatever');
}
loadJsons(){
this.namesListProvider.getJsons()
.subscribe(
(data:any) => {
this.dataListFavourites = data[0],
this.dataListDisliked = data[1],
this.dataListAll = data[2]
if (this.actualList === 'mainList') {
this.listOfNames = this.dataListAll;
this.swipeLeftList = this.dataListDisliked;
this.swipeRightList = this.dataListFavourites;
}
else if (...) {
...
}
this.listSearchResults = this.listOfNames;
}, err => console.log('hey, error when loading names list - ' + err),
() => console.info('loading Jsons complete')
)
}
如果在ngOnInit()中加載數據會發生什麼?你還提到了一些「參數」。它是路由器還是查詢字符串? – rook