在Angular Ionic App中等待Lazy Load直到异步函数完成

vohkndzv  于 2023-05-21  发布在  Ionic
关注(0)|答案(1)|浏览(220)

我有一个问题,我似乎不能弄清楚在测试和研究在线。
我有一个我正在开发的Ionic Angular App。我延迟加载页面和弹出窗口,但我注意到延迟加载触发了标签页和页面的ngOnInit()和ionViewDidEnter()。然而,我真的不希望ionViewDidEnter运行,除非用户实际选择了这些页面。我也不希望ngOnInit()运行,直到我的应用组件完成一些异步功能,如登录和从本地存储中提取数据。
那么,有没有一种方法可以保持延迟加载,但推迟初始化,直到我在应用程序组件中准备好?
我认为对于ionViewDidEnter()方法,我可以简单地使用保存在服务中的布尔值,因此我将只使用简单的“if”语句运行ionViewDidEnter中的内容。

ionViewDidEnter(){
    if(this.myService.finshedAppInit){
        // Do stuff
    }
}

应用路由模块中的延迟加载

{
    path: 'tabs',
    loadChildren: () => import('./tabs/tabs.module').then(m => m.TabsPageModule)
},

有什么想法吗是否有一个特定的标准来加载一个应用程序,但要等到特定的异步方法完成后才能加载启动画面和应用程序组件?
我尝试删除延迟加载,但这产生了自己的问题。

v8wbuo2f

v8wbuo2f1#

实际上,我只是决定不懒惰加载标签页,只是导航到那里的应用程序组件完成,或者它去登录屏幕。这实际上是非常有用的,因为现在没有标签下游将运行,除非直接在那里。

{
    path: 'tabs',
    component: TabsPageModule
  },

我仍然有ionViewDidEnter运行下游的网页,观众没有点击,但我可以管理

相关问题