我遇到的问题真的很奇怪。在app.component.ts的Ionic 2中,我有这段代码。问题是,首先它将我重定向到主页,然后它从json加载数据。因此,在主页上的结果我得到了不确定。
app.component.ts中的代码:
export class MyApp {
public rootPage : any;
constructor(public platform: Platform, data : Data) {
this.platformready();
data.loadData();
this.rootPage = HomePage;
}
private platformready() {
this.platform.ready().then(() => {
Splashscreen.hide();
});
}
}
答案 0 :(得分:0)
如果您的loadData
退货承诺:
this.platformready();
data.loadData().then(res => {
// do something with data
this.rootPage = HomePage;
})
.catch(err => {
// alert error
});
}
如果返回Observable
this.platformready();
data.loadData().subscribe(res => {
// do something with data
this.rootPage = HomePage;
},err => {
// alert error
});
}
答案 1 :(得分:0)
Data
是提供者吗?
如果只是在ionViewWillLoad(){}
内的主页中调用它,就像这样:
constructor(data : Data) {}
ionViewWillLoad(){
data.loadData();
}
并且像这样你可以将它保存在变量,数据库等任何地方。
如果它是应用程序中稍后更改的数据,则可以改为使用ionViewWillEnter(){}
。
希望有所帮助:)