我在我的项目中使用 ionic 3,但在延迟加载方面遇到了一些问题。
我有一个ResultPage
与模板resultpage.html
有超过1000html 行代码。在里面HomePage
我想导航到ResultPage
by navCtrl.setRoot
。当我调用它时,屏幕会在 3-4 秒内冻结,然后再带我去ResultPage
。这确实是一个糟糕的用户体验。它只发生在大模板上并且在我第一次进入该页面时。我决定删除延迟加载ResultPage
并且滞后消失。我不知道这是一个正确的方法吗?有人可以告诉我在这种情况下我应该做什么吗?
多谢!
对用户隐藏这一点的一种方法是仍然在应用程序中使用延迟加载,但是急切地预加载那个特定的页面。你可以看一下the docs了解更多信息。
默认情况下,预加载是关闭的,因此设置此属性即可
没有什么。预加载在应用程序之后急切地加载所有深层链接
靴子而不是按需按需。要启用预加载,请设置
主应用程序模块配置中的 preloadModules 为 true:
@NgModule({
declarations: [
MyApp
],
imports: [
BrowserModule,
IonicModule.forRoot(MyApp, {
preloadModules: true // <- Here!
})
],
bootstrap: [IonicApp],
entryComponents: [
MyApp
]
})
export class AppModule { }
如果打开预加载,它将根据
优先级的值。以下值可能适用于优先级:
“高”、“低”和“关”。当没有优先级时,会被设置为
“低的”。
所有优先级设置为“高”的深层链接将首先加载。
完成加载“高”优先级模块后,所有深层链接
将加载优先级为“低”(或无优先级)的
设置优先级就像将其传递给 @IonicPage 一样简单
装饰器:
@IonicPage({
name: 'my-page',
priority: 'high'
})
因此,就您而言,我会尝试将优先级设置为高:
请注意,急切地预加载页面可能会增加应用程序的启动时间,因此请尝试尽可能少地预加载页面。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)