我遇到的问题真的很奇怪。在 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();
});
}
}
如果你的loadData
回报承诺:
this.platformready();
data.loadData().then(res => {
// do something with data
this.rootPage = HomePage;
})
.catch(err => {
// alert error
});
}
如果返回可观察
this.platformready();
data.loadData().subscribe(res => {
// do something with data
this.rootPage = HomePage;
},err => {
// alert error
});
}
Data
是提供者吗?
如果只是在ionViewWillLoad(){}
内的主页中调用它,就像这样:
constructor(data : Data) {}
ionViewWillLoad(){
data.loadData();
}
像这样,您可以将其保存在变量,数据库等任何地方。
如果是稍后在应用中更改的数据,则可以改用ionViewWillEnter(){}
。
希望对:)有所帮助