角度 – 离子3延迟加载使滞后与大html文件

我在我的项目中使用离子3,我有一些延迟加载的问题.

我有一个ResultPage与模板resultpage.html有超过1000个html行代码.在HomePage中,我想通过navCtrl.setRoot导航到ResultPage.当我调用它时,屏幕在3-4s内冻结,然后将我带到ResultPage.这真的是一个糟糕的用户体验.它只发生在lagre teamplate并且在我第一次进入该页面时.我决定删除ResultPage中的延迟加载和滞后消失.我不知道这是正确的方法吗?有人可以告诉我在这种情况下该怎么做?

非常感谢!

解决方法

用户那里隐藏它​​的一种方法是在你的应用程序中仍然使用延迟加载,但是急切地预加载该特定页面.您可以查看 the docs获取更多信息.

By default,preloading is turned off so setting this property would do
nothing. preloading eagerly loads all deep links after the application
boots instead of on demand as needed. To enable preloading,set
preloadModules in the main application module config to true:

@NgModule({
  declarations: [
    MyApp
  ],imports: [
    browserModule,IonicModule.forRoot(MyApp,{
      preloadModules: true // <- Here!
    })
  ],bootstrap: [IonicApp],entryComponents: [
    MyApp
  ]
})
export class AppModule { }

If preloading is turned on,it will load the modules based on the
value of priority. The following values are possible for priority:
“high”,“low”,and “off”. When there is no priority,it will be set to
“low”.

All deep links with their priority set to “high” will be loaded first.
Upon completion of loading the “high” priority modules,all deep links
with a priority of “low” (or no priority) will be loaded

Setting the priority is as simple as passing it to the @IonicPage
decorator:

@IonicPage({
  name: 'my-page',priority: 'high'
})

所以在你的情况下,我会尝试将优先级设置为高到:

>加载应用程序时用户将与之交互的第一个页面(例如HomePage)
> ResultPage以保持已预加载并在用户重定向到它时更快地显示它.

请注意,预加载页面可能会增加应用程序的启动时间,因此请尽可能少地预加载页面.

相关文章

vue阻止冒泡事件 阻止点击事件的执行 &lt;div @click=&a...
尝试过使用网友说的API接口获取 找到的都是失效了 暂时就使用...
后台我拿的数据是这样的格式: [ {id:1 , parentId: 0, name:...
JAVA下载文件防重复点击,防止多次下载请求,Cookie方式快速简...
Mip是什么意思以及作用有哪些