配置懶加載需要以下幾個步驟:
- 1.給需要懶加載的頁面配置module.ts埂材;
- 2.在對應頁面的.ts文件里增加
@IonicPage()
特性逢净; - 3.在app.module.ts移除頁面引用;
- 4.使用懶加載;
- 5.懶加載運行效果圖樱拴;
1.配置module.ts
依次配置about.module.ts、contact.module.ts洋满、home.module.ts晶乔、tabs.module.ts
about.module.ts
import { NgModule } from '@angular/core';
import { IonicPageModule } from 'ionic-angular';
import { AboutPage } from './about';
@NgModule({
declarations: [
AboutPage,
],
imports: [
IonicPageModule.forChild(AboutPage),
],
})
export class AboutPageModule { }
contact.module.ts
import { NgModule } from '@angular/core';
import { IonicPageModule } from 'ionic-angular';
import { ContactPage } from './contact';
@NgModule({
declarations: [
ContactPage,
],
imports: [
IonicPageModule.forChild(ContactPage),
],
})
export class ContactPageModule { }
home.module.ts
import { NgModule } from '@angular/core';
import { IonicPageModule } from 'ionic-angular';
import { HomePage } from './home';
@NgModule({
declarations: [
HomePage,
],
imports: [
IonicPageModule.forChild(HomePage),
],
})
export class HomePageModule { }
tabs.module.ts
import { NgModule } from '@angular/core';
import { IonicPageModule } from 'ionic-angular';
import { TabsPage } from './tabs';
@NgModule({
declarations: [
TabsPage,
],
imports: [
IonicPageModule.forChild(TabsPage),
],
})
export class TabsPageModule { }
配置完成后目錄如下
2-1.png
2.增加@IonicPage()
特性
以about.ts為例,在@Component上方?加上@IonicPage特性(行號4),其他需要懶加載的頁面也需要配置牺勾。
2-2.png
3.在app.module.ts移除頁面引用正罢;
將?配置過懶加載的頁面,在app.module.ts中進行移除引用驻民,移除后的代碼如下:
import { NgModule, ErrorHandler } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { IonicApp, IonicModule, IonicErrorHandler } from 'ionic-angular';
import { MyApp } from './app.component';
import { StatusBar } from '@ionic-native/status-bar';
import { SplashScreen } from '@ionic-native/splash-screen';
@NgModule({
declarations: [
MyApp
],
imports: [
BrowserModule,
IonicModule.forRoot(MyApp)
],
bootstrap: [IonicApp],
entryComponents: [
MyApp
],
providers: [
StatusBar,
SplashScreen,
{ provide: ErrorHandler, useClass: IonicErrorHandler }
]
})
export class AppModule { }
4.使用懶加載
使用懶加載翻具,只需要將之前的頁面名字用引號引起來即可,對應的也不需要在頂部進行import導入
app.component.ts
import { Component } from '@angular/core';
import { Platform } from 'ionic-angular';
import { StatusBar } from '@ionic-native/status-bar';
import { SplashScreen } from '@ionic-native/splash-screen';
@Component({
templateUrl: 'app.html'
})
export class MyApp {
rootPage: any = 'TabsPage';
constructor(platform: Platform, statusBar: StatusBar, splashScreen: SplashScreen) {
platform.ready().then(() => {
statusBar.styleDefault();
splashScreen.hide();
});
}
}
tabs.ts
import { IonicPage } from 'ionic-angular';
import { Component } from '@angular/core';
@IonicPage()
@Component({
templateUrl: 'tabs.html'
})
export class TabsPage {
tab1Root = 'HomePage';
tab2Root = 'ContactPage';
tab3Root = 'AboutPage';
constructor() {
}
}
5.懶加載運行效果圖
首次加載時川无,只會加載tabs和home
2-3
當點擊“個人中心”時才會加載about
2-4.png
下一講將講解如何配置全局服務類呛占。
完!