Ionic 从Firestore获取数据,但未立即显示

yquaqz18  于 2023-03-21  发布在  Ionic
关注(0)|答案(1)|浏览(103)

我是一个新手在离子,并已作出这一个应用程序。我用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();
  }
hl0ma9xz

hl0ma9xz1#

代码中的几个问题:
1.不要在一个大的主函数中添加多个方法,当你需要向其中任何一个添加额外的逻辑时,这看起来很混乱,而且对开发人员不友好。
1.使用不同的生命周期钩子。
承载这些函数的服务文件是什么样子的?也许这些函数需要异步/等待。

相关问题