当项目变得复杂庞大以后,如果所有页面都在一个模块里,就会出现首页加载慢的问题,因为首页就已经把整个项目加载进来了。所以,很有必要根据业务将不同的功能分模块,以便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小时内与您取得联系。