ionic3新特性懒加载,lazyloading
来源:互联网 发布:maxwell软件 编辑:程序博客网 时间:2024/06/08 17:18
ionic2结合angular开发成为了前端开发的一段神奇,组件化的开发分离了逻辑和UI的操作,降低了耦合度,极大的提高了开发程序的性能,但是有一个痛点就是,每一次的第一次启动程序的时候都需要花费较多的时间去加载所有的JS和依赖着导致整个APP第一次启动很慢。ionic3解决了这个痛点。采用了新的加载方式:懒加载
懒加载使用方法分三步:
以APP的开始home页为例:
一、在home组件里面添加一个home.module.ts,在这里需要注意导入IonicPageModule组件,同时引入该模组所在组件,也就是home.ts的类名,然后再这个模组里面声明并暴露这个类:
declarations: [HomePage],
exports: [HomePage]最后:用ionicpagemodule.forchild方法指定该页面的展示的组件名:
imports: [IonicPageModule.forChild(HomePage)],这样之后在其他组件push或者调用到这个组件名的时候就会自定找到该组件并显示:
完整代码如下:
import { NgModule } from '@angular/core';import { IonicPageModule } from 'ionic-angular';import { HomePage } from './home';@NgModule({ declarations: [HomePage], imports: [IonicPageModule.forChild(HomePage)], exports: [HomePage]})export class HomePageModule { }
二:修改home.ts文件:
引ionicpage组件,用来支持页面调用
import { IonicPage } from 'ionic-angular';再加入IonicPage装饰器装饰
import { IonicPage } from 'ionic-angular';
import { Component } from '@angular/core';import { NavController } from 'ionic-angular';import { IonicPage } from 'ionic-angular';@IonicPage()@Component({ selector: 'page-home', templateUrl: 'home.html'})export class HomePage { constructor(public navCtrl: NavController) { }}
三、修改appmoudle.ts删除所有home组件的依赖和导入声明等也就是这里面声明的还有import的有关于Home的都删掉。
@NgModule({ declarations: [ MyApp ], entryComponents: [ MyApp ],})
四、修改app.componnet.ts:在页面调用的地方调用类的名称,记住一定以字符串形式;这是最重要的,重要的事情说三遍:字符串形式字符串形式字符串形式“”“”引号不能少
rootPage:any = "TabsPage";
注意:特别强调一点,在根模组里面也就是app.component.ts里面一定不能加@IonicPage()这个装饰器,也不用在里面import {IonicPage},只需要直接调用字符串形式的类名去找该类名下的组件就可以了。
其次:在根模块的app.module.ts里面也不需要import {IonicPageModule}更不需要引入其他用到的类。只需要引入本身的component类就好了
一句话:根模组不用配置任何懒加载的参数装饰器,只需要在需要调用页面的地方用字符串的形式调用页面的类名即可。
参考文章:
http://blog.ionic.io/ionic-and-lazy-loading-pt-1/
http://blog.ionic.io/ionic-and-lazy-loading-pt-2/
- ionic3新特性懒加载,lazyloading
- iOS-lazyLoading懒加载
- Ionic3 懒加载
- lazyLoading.js懒加载和swiper.js并用
- 升级到ionic3 Lazy Loading懒加载,ionic3新建页面
- ionic3开发系列——ionic3懒加载配置
- 使用Ionic3 新特性Lazy Loading加速应用
- ionic3 实现懒加载方式 ---学习记录
- jquery.lazyloading图片延迟加载插件,通用
- Ionic3 自定义组件实现图片懒加载效果
- 自己写jquery.lazyloading图片延迟加载插件,通用
- [Java5新特性]类加载器
- 推送或者首次加载的新特性
- ionic3
- Hibernate懒加载特性
- Hibernate_懒加载特性
- Dojo 1.6 新特性: 异步模块加载机制AMD
- iOS6新特性UIRefreshControl下拉刷新与上拉加载
- ng自定义指令和四种用法
- html讲课笔记
- 嵌入式系统学习——S3C2451嵌入式简介
- 605. Can Place Flowers
- 一起来看MyBatis(一)
- ionic3新特性懒加载,lazyloading
- 同一个Maven项目移机出错解决办法
- ROS机器人操作系统的安装、配置与初级教程 8
- ROS机器人操作系统的安装、配置与初级教程 9
- Rspamd_rule_Forwarding.lua自己的理解
- 深度学习常用激活函数之— Sigmoid & ReLU & Softmax
- 计算机网络复习(Ch4网络层)
- 某次gc频繁
- ROS机器人操作系统的安装、配置与初级教程 10