ionic懒加载

简介

使用懒加载能够减少程序启动时间,减少打包后的体积。并且懒加载是当点击,触发的时候才去加载,所以程序启动的时间比较快。

配置懒加载需要以下几个步骤:

1.给需要懒加载的页面配置module.ts;

2.在对应页面的.ts文件里增加@IonicPage()特性;

3.在app.module.ts移除页面引用;

4.使用懒加载(在调用这个界面的地方,不 import界面,使用 string,组件名称字符串就是懒加载,ionic会帮我们注册组件和找到该组件。)

新增一个组件

使用命令 ionic generate page settings

新增之后的目录

settingsetting.htmlsetting.module.tssetting.scsssetting.ts

配置 setting.module.ts

import { NgModule } from '@angular/core';
import { IonicPageModule } from 'ionic-angular';
import { SettingPage } from './setting';@NgModule({declarations: [SettingPage,],imports: [IonicPageModule.forChild(SettingPage),],
})
export class SettingPageModule {}

配置 setting.ts。需要加入 @IonicPage()

import { Component } from '@angular/core';
import {IonicPage, ModalController, NavController, NavParams} from 'ionic-angular';
import {LoginPage} from "../login/login";
import {ModalPage} from "../modal/modal";@IonicPage()
@Component({selector: 'page-setting',templateUrl: 'setting.html',
})
export class SettingPage {constructor(public navCtrl: NavController,public navParams: NavParams,public modalCtrl: ModalController) {}ionViewDidLoad() {console.log('ionViewDidLoad SettingPage');}}

修改 Tab.ts。 将使用 懒加载的模块使用 引号。

import { Component } from '@angular/core';
import { AboutPage } from '../about/about';
import { ContactPage } from '../contact/contact';
import { HomePage } from '../home/home';
import {NavParams, ViewController} from "ionic-angular";@Component({templateUrl: 'tabs.html'
})
export class TabsPage {tab1Root = HomePage;tab2Root = AboutPage;tab3Root = ContactPage;tab4Root = 'SettingPage';   // 使用懒加载constructor(public navParams: NavParams,public viewCtrl: ViewController) {}ionViewDidLoad() {console.log(modelData);}
}

修改 Tab.html。

<ion-tabs><ion-tab [root]="tab1Root" tabTitle="首页" tabIcon="home"></ion-tab><ion-tab [root]="tab2Root" tabTitle="About" tabIcon="information-circle"></ion-tab><ion-tab [root]="tab3Root" tabTitle="Contact" tabIcon="contacts"></ion-tab><ion-tab [root]="tab4Root" tabTitle="设置" tabIcon="settings"></ion-tab>
</ion-tabs>

  1. 在第二级的界面中,也是同样的方式。
  2. 查看方式 浏览器中 Sources 中 Network ---> http://localhost:8100/ --> src

图片是我自己写的例子改过之后的,上面的文章是刚刚开始做的时候的笔记。 不过代码上面的逻辑是相同的。

进入界面之后,看到的模块

点击设置之后的模块

ionic3学习之懒加载相关推荐

  1. 图片太多加载过慢?学学图片懒加载吧

    实验介绍 我们在浏览图片较多的网页时,有没有想过这些图片是如何成功展示的呢?比如像这样的图片素材网站: 这样的网页拥有成千上万的图片资源,如何优化网页性能成为了开发人员不得不思考的技术问题. 不难发现 ...

  2. 深入学习SAP UI5框架代码系列之一:UI5 Module的懒加载机制

    本文是深入学习SAP UI5框架代码系列的第二篇文章. 系列目录 SAP UI5应用开发人员了解UI5框架代码的意义 UI5 module懒加载机制 UI5 控件渲染机制 HTML原生事件 VS SA ...

  3. dll文件懒加载_一步步学习NHibernate(5)——多对一,一对多,懒加载(2)

    请注明转载地址:http://www.cnblogs.com/arhat 通过上一章的学习,我们建立了Student和Clazz之间的关联属性,并从Student(many)的一方查看了Clazz的信 ...

  4. webbrowser控件 加载为空白_深入学习SAP UI5框架代码系列之一:UI5 Module的懒加载机制...

    本文是深入学习SAP UI5框架代码系列的第二篇文章. 系列目录 SAP UI5应用开发人员了解UI5框架代码的意义 UI5 module懒加载机制 UI5 控件渲染机制 HTML原生事件 VS SA ...

  5. ionic3开发系列——ionic3懒加载配置

    配置ionic3懒加载步骤: 1.给需要懒加载的页面配置module.ts: 例:配置about.module.ts: import { NgModule } from '@angular/core' ...

  6. Mybatis学习第四天:Mybatis延迟加载懒加载,一级缓存,二级缓存,注解开发

    文章目录 Mybatis中的延迟加载 一对一进行延迟加载 一对多的延迟加载 缓存机制: 一级缓存 二级缓存 注解开发 注解开发--单表的增删改查 注解开发--建立表与实体类的对应关系 注解开发--多表 ...

  7. 前端学习(2742):重读vue电商网站52之路由懒加载

    当打包构建项目时,JavaScript 包会变得非常大,影响页面加载.如果我们能把不同路由对应的组件分割成不同的代码块,然后当路由被访问的时候才加载对应组件,这样就更加高效了. 具体需要 3 步: 安 ...

  8. ionic3 html调用摄像头,ionic3懒加载中使用自定义组件component

    问题: 由于使用了懒加载所以不能像之前一样直接引用component对象,在网上找了好多办法找了好多尝试终于知道怎么调用component了,记录一下使用自定义组件的详细过程 解决: 1. ionic ...

  9. Mybatis入门学习(八、懒加载)

    懒加载 懒加载的意思就是优化数据库的性能,因为你在多表查询的时候,首先查询一个表,然后获取对应的属性,再去查询其他表,影响到一部分的性能,这就应用到懒加载了 懒加载的应用是在不用这个对象的时候就不发送 ...

  10. webpack v3 结合 react-router v4 做 dynamic import — 按需加载(懒加载)

    为什么要做dynamic import? dynamic import不知道为什么有很多叫法,什么按需加载,懒加载,Code Splitting,代码分页等. 总之,就是在SPA,把JS代码分成N个页 ...

最新文章

  1. 计算机评语公式怎么输,在excel中,如何使用公式写评语
  2. 『HTML5制造仿JQuery作用』减速
  3. ElementUI中的el-form怎样格式化显示1和0为是和否
  4. 记录一次Socket编程:OutputStream的flush方法
  5. 平台策略:从Portlet到OpenSocial小工具再到渐进式Web应用程序:最新技术
  6. 李开复:年轻人该比谁更拼命吗?
  7. 动态BGP和静态BGP的含义与区别
  8. (转)淘淘商城系列——服务调用测试
  9. jQuery图片垂直滚动焦点图
  10. Python使用xpath爬取51job
  11. 如何选择VC界面库产品?(四)— DSkinLite vs DirectUI
  12. Java速成系列-01-什么是速成
  13. Android定位功能实现
  14. 增长量计算n+1原则_何俊-资料分析中的增长量计算
  15. oracle 清理磁盘空间,oracle清理磁盘空间
  16. 有没有能排列待办事项无广告的Windows版便签软件推荐
  17. html做成avi格式文件,制作HTML网页插入视频Mp 4格式可以播放,AVI格式为何不可以播放...
  18. Javascript基础之-var,let和const深入解析(二) - 三者的规范描述、临时死区 (TDZ)、双定义
  19. 灵感 | 设计平平无奇?试试这种方法!
  20. Hazelcast Jet Processor

热门文章

  1. china-pub春季教材展,给力优惠,买二赠一
  2. CSS最基础的语法和三种引入方式
  3. 2014年武汉的IT行情好像不太好(续):20个月过后,再看当时面试过的几个公司--武汉财富基石-崩盘,辣妈萌宝-创业失败,朋友公司转交他人管理...
  4. 一只刚学竞价两周的菜鸟
  5. C++primer plus第六版课后编程题答案 6.6
  6. 应用程序按照以下顺序执行由 global.asax 文件中定义的模块或用户代码处理的事件...
  7. numpy.linalg——线性代数运算
  8. 检测到在集成的托管管道模式下不适用的ASP.NET设置的解决方法
  9. 基础14——文件的上传和下载
  10. 某听书网站系统漏洞,利用抓包拼接方式获取网站资源