预加载、延迟加载页面 Ionic 4
Preloading, lazy loaded pages Ionic 4
在 Ionic 3 中,我们可以通过以下方式预加载页面:
IonicModule.forRoot({
preloadModules: true
});
但是当我尝试在 Ionic 4 中这样做时,它给了我一个错误:
Argument of type '{ preloadModules: boolean; }' is not assignable to parameter of type 'IonicConfig'.
有人知道如何在 Ionic 4 中执行此操作。
Ionic 4 底层使用 Angular CLI,它支持延迟加载模块。在使用 forRoot()、forChild() 创建路由时。我们可以使用 loadChildren 配置来定义延迟加载的模块。
const app_routes: Routes = [
{
path: 'home',
loadChildren: 'app/home/home.module#HomeModule'
},
{ path: '', pathMatch: 'full', redirectTo: '/login' },
{ path: '**', pathMatch: 'full', redirectTo: '/login' }
];
RouterModule.forRoot(app_routes);
我们告诉ionic/Angular CLI,当用户访问'/user'位置路径时,我们需要将主模块加载为延迟加载,这将在内部加载所需的组件和服务。
Ionic Docs: https://beta.ionicframework.com/docs/
在 Ionic 3 中,我们可以通过以下方式预加载页面:
IonicModule.forRoot({
preloadModules: true
});
但是当我尝试在 Ionic 4 中这样做时,它给了我一个错误:
Argument of type '{ preloadModules: boolean; }' is not assignable to parameter of type 'IonicConfig'.
有人知道如何在 Ionic 4 中执行此操作。
Ionic 4 底层使用 Angular CLI,它支持延迟加载模块。在使用 forRoot()、forChild() 创建路由时。我们可以使用 loadChildren 配置来定义延迟加载的模块。
const app_routes: Routes = [
{
path: 'home',
loadChildren: 'app/home/home.module#HomeModule'
},
{ path: '', pathMatch: 'full', redirectTo: '/login' },
{ path: '**', pathMatch: 'full', redirectTo: '/login' }
];
RouterModule.forRoot(app_routes);
我们告诉ionic/Angular CLI,当用户访问'/user'位置路径时,我们需要将主模块加载为延迟加载,这将在内部加载所需的组件和服务。
Ionic Docs: https://beta.ionicframework.com/docs/