我是一个新手在离子,并已作出这一个应用程序。我用firestore,因为所有的数据要么链接或只是字符串。获取本身是好的,但随后的数据不加载在主页时,我第一次启动应用程序。捕获是当我重定向到其他页面,然后回来(或者简单地导航到Home),数据就显示出来了。问题是,我如何让数据显示在App Start上而不需要重定向路线?提前谢谢。
我试着把我的获取从构造函数移到ngOninit,没有成功。这是我的代码片段(可能是因为我做了太多的订阅,idk)
Data = [];
DataPers =[];
DataInfog=[];
DataVid=[];
DataVid2=[];
Events=[];
Award=[];
link=[];
constructor(
private homes: HomeServiceService,
@Inject(LOCALE_ID) public locale: string
) {}
calls(){
this.homes.getNotes().subscribe(res=>{
this.Data = res;
}),
this.homes.getPers().subscribe(res=>{
this.DataPers = res;
}),
this.homes.getData().subscribe(res=>{
this.DataInfog = res;
}),
this.homes.getVid().subscribe(res=>{
this.DataVid = res;
}),
this.homes.getVid2().subscribe(res=>{
this.DataVid2 = res;
}),
this.homes.getEvent().subscribe(res=>{
this.Events = res;
}),
this.homes.getAward().subscribe(res=>{
this.Award = res;
}),
this.homes.getHyperlink().subscribe(res=>{
this.link = res;
})
}
ngOnInit() {
this.calls();
}
1条答案
按热度按时间hl0ma9xz1#
代码中的几个问题:
1.不要在一个大的主函数中添加多个方法,当你需要向其中任何一个添加额外的逻辑时,这看起来很混乱,而且对开发人员不友好。
1.使用不同的生命周期钩子。
承载这些函数的服务文件是什么样子的?也许这些函数需要异步/等待。