全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

浅谈Angular2 模块懒加载的方法

当项目变得复杂庞大以后,如果所有页面都在一个模块里,就会出现首页加载慢的问题,因为首页就已经把整个项目加载进来了。所以,很有必要根据业务将不同的功能分模块,以便Angular2按需加载,提升用户体验。

下面的例子是将首页放到home模块里,访问/home时加载home模块内容,仅供学习懒加载,其实首页访问路径应该是/

先看项目文件结构:

home模块放到src/app/home目录下,里面的home目录是home组件。

home模块有单独的定义和路由(home.module.ts,home-routing.module.ts)

创建HOME模块和HOME组件:

cd src/app/
mkdir home
cd home
ng g module home
ng g component home

创建HOME模块的路由配置模块

创建 home-routing.module.ts:

import {Routes, RouterModule} from "@angular/router";
import {HomeComponent} from "./home/home.component";
import {NgModule} from "@angular/core";

const routes: Routes=[
 {
  path:'',
  component:HomeComponent
 }
]

@NgModule({
 imports:[RouterModule.forChild(routes)],
 exports:[RouterModule],
 providers:[]

})
export class HomeRoutingModule{}

模块下的页面都可以单独在该模块自己的的路由配置模块上配置,而不用在app-routing.module.ts里配置,注意RouterModule.forChild(routes)

home.module.ts导入路由模块:

import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { HomeComponent } from './home/home.component';
import {HomeRoutingModule} from "./home-routing.module";

@NgModule({
 imports: [
  CommonModule,
  HomeRoutingModule
 ],
 declarations: [HomeComponent]
})
export class HomeModule { }

在app-routing.module.ts配置路由:

import {NgModule} from "@angular/core";
import {Routes, RouterModule} from "@angular/router";
import {UserListComponent} from "./user/user-list/user-list.component";
import {UserDetailComponent} from "./user/user-detail/user-detail.component";
import {RxjsComponent} from "./rxjs/rxjs.component";
import {UserEditComponent} from "./user/user-edit/user-edit.component";
import {environment} from "../environments/environment";

const routes: Routes = [
 {
  path:'home',
  loadChildren:'app/home/home.module#HomeModule'
 }

];

@NgModule({
 imports: [RouterModule.forRoot(routes,{ useHash: environment.useHash })],
 exports: [RouterModule],
 providers: []
})
export class AppRoutingModule { }

配置home路径,使用loadChildren加载home模块

完成后打开chrome的开发者工具,切到Network,看看不同的页面是不是加载了不同的文件。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# Angular  # 模块懒加载  # Angular2  # Angular懒加载动态创建显示该模块下声明的组件  # 基于angular6.0实现的一个组件懒加载功能示例  # angular实现图片懒加载实例代码  # Angular懒加载机制刷新后无法回退的快速解决方法  # 浅谈angular懒加载的一些坑  # 在Angular中实现懒加载的示例代码  # 加载  # 首页  # 自己的  # 就会  # 都在  # 很有  # 仅供  # 而不  # 用在  # 进来了  # 先看  # 大家多多  # 按需  # 应该是  # 完成后  # 目录下  # class  # HOME  # ts  # module 


相关文章: 网站制作培训多少钱一个月,网站优化seo培训课程有哪些?  如何在阿里云高效完成企业建站全流程?  网站制作大概要多少钱一个,做一个平台网站大概多少钱?  如何在Mac上搭建Golang开发环境_使用Homebrew安装和管理Go版本  代刷网站制作软件,别人代刷火车票靠谱吗?  如何基于PHP生成高效IDC网络公司建站源码?  高性能网站服务器配置指南:安全稳定与高效建站核心方案  如何将凡科建站内容保存为本地文件?  打鱼网站制作软件,波克捕鱼官方号怎么注册?  JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)  威客平台建站流程解析:高效搭建教程与设计优化方案  如何在Windows虚拟主机上快速搭建网站?  如何获取开源自助建站系统免费下载链接?  北京建设网站制作公司,北京古代建筑博物馆预约官网?  网站制作软件免费下载安装,有哪些免费下载的软件网站?  惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?  php json中文编码为null的解决办法  建站之星2.7模板:企业网站建设与h5定制设计专题  建站主机如何选?性能与价格怎样平衡?  ,制作一个手机app网站要多少钱?  建站之星如何助力网站排名飙升?揭秘高效技巧  如何在IIS中配置站点IP、端口及主机头?  高性能网站服务器部署指南:稳定运行与安全配置优化方案  建站之星安装失败:服务器环境不兼容?  如何通过VPS建站无需域名直接访问?  如何破解联通资金短缺导致的基站建设难题?  网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?  学校建站服务器如何选型才能满足性能需求?  如何选择适配移动端的WAP自助建站平台?  如何配置支付宝与微信支付功能?  公司门户网站制作流程,华为官网怎么做?  制作企业网站建设方案,怎样建设一个公司网站?  北京营销型网站制作公司,可以用python做一个营销推广网站吗?  贸易公司网站制作流程,出口贸易网站设计怎么做?  制作网站的网址是什么,请问后缀为.com和.com.cn还有.cn的这三种网站是分别是什么类型的网站?  建站之星如何快速解决建站难题?  如何在腾讯云服务器快速搭建个人网站?  如何打造高效商业网站?建站目的决定转化率  免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?  如何在建站主机中优化服务器配置?  定制建站如何定义?其核心优势是什么?  建设网站制作价格,怎样建立自己的公司网站?  C++如何编写函数模板?(泛型编程入门)  如何在腾讯云服务器上快速搭建个人网站?  如何快速重置建站主机并恢复默认配置?  香港服务器如何优化才能显著提升网站加载速度?  如何正确选择百度移动适配建站域名?  微网站制作教程,我微信里的网站怎么才能复制到浏览器里?  nginx修改上传文件大小限制的方法  Python文件管理规范_工程实践说明【指导】 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。