脚本宝典收集整理的这篇文章主要介绍了ng2路由延时加载模块,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
1、 app.module.ts
import {browserModule} From '@Angular/platform-browser';
import {NgModule} from '@angular/core';
import {FormsModule} from '@angular/forms';
import {HttpModule} from '@angular/http';
import {RouterModule, Routes} from "@angular/router";
import {Appcomponent} from './components/app.COMponent';
import {HomeComponent} from "./components/home.component";
import {ContactComponent} from "./components/contact.component";
// 这样就实现了延时加载
// 我们使用属性loadChildren而不是component 。
// 我们传递一个字符串而不是一个符号,以避免加载模块。
// 我们不仅定义了模块的路径,还定义了类的名称。
const MyRouter:Routes = [
{
path: "home",
component: HomeComponent
},
{
path: "about",
loadChildren: "app/about.module#AboutModule"
},
{
path: "contact",
component: ContactComponent
},
{
path: "**",
redirectTo: "home"
}
];
@NgModule({
declarations: [
AppComponent,
HomeComponent,
ContactComponent
],
imports: [
BrowserModule,
FormsModule,
HttpModule,
RouterModule.forRoot(MyRouter)
],
PRoviders: [],
bootstrap: [AppComponent]
})
export class AppModule {
}
2、app.component.ts
import { Component } from '@angular/core';
@Component({
selector: 'app-root',
templateUrl: '../templates/app.component.htML'
})
export class AppComponent {
}
3、app.component.html
<a [routerLink]="['home']" routerLinkActive="active">首页</a>
<a [routerLink]="['contact']" routerLinkActive="active">联系我们</a>
<a [routerLink]="['about']" routerLinkActive="active">关于我们</a>
<a [routerLink]="['about/list']" routerLinkActive="active">我们列表</a>
<router-outlet></router-outlet>
4、home.component.ts
import {Component} from "@angular/core";
@Component({
selector: "my-home",
template: "首页"
})
export class HomeComponent {
constructor() {
console.LOG("home");
}
}
5、about.module.ts
import {NgModule} from '@angular/core';
import {RouterModule, Routes} from "@angular/router";
import {AboutComponent} from "./components/about.component";
import {ListComponent} from "./components/list.component";
const childRouter:Routes = [
{
path: '',
component: AboutComponent
},
{
path: "list",
component: ListComponent
}
];
@NgModule({
imports: [
RouterModule.forChild(childRouter)
],
declarations: [
AboutComponent,
ListComponent
]
})
export class AboutModule {
}
6、about.component.ts
import {Component, OnInit} from "@angular/core";
@Component({
selector: "my-about",
template: "关于我们"
})
export class AboutComponent {
constructor() {
console.log("about");
}
}
7、list.component.ts
import {Component} from "@angular/core";
@Component({
selector: "my-list",
template: "列表"
})
export class ListComponent {
constructor() {
console.log("list");
}
}
以上是脚本宝典为你收集整理的ng2路由延时加载模块全部内容,希望文章能够帮你解决ng2路由延时加载模块所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。