加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Angular 自定义模块以及配置路由实现模块懒加载

发布时间:2020-12-17 17:44:39 所属栏目:安全 来源:网络整理
导读:项目目录 创建模块 ng g module module/user --routingng g module module/article --routing ng g module module/product --routing 创建组件 ng g component module/userng g component module/user/components/profile ng g component module/user/compon

项目目录

创建模块

ng g module module/user --routing
ng g module module/article --routing 
ng g module module/product --routing

创建组件

ng g component module/user
ng g component module/user/components/profile 
ng g component module/user/components/order
ng g component module/article
ng g component module/article/components/articlelist 
ng g component module/article/components/info
ng g component module/product
ng g component module/product/components/plist
ng g component module/product/components/pinfo

?

1.app.module.ts

import { BrowserModule } from ‘@angular/platform-browser‘;
import { NgModule } from ‘@angular/core‘;

import { AppRoutingModule } from ‘./app-routing.module‘;
import { AppComponent } from ‘./app.component‘;

@NgModule({
  declarations: [
    AppComponent
  ],imports: [
    BrowserModule,AppRoutingModule
  ],providers: [],bootstrap: [AppComponent]
})
export class AppModule { }

app.component.html

<header>
  <a [routerLink]="[‘/user‘]">用户模块</a>
  <a [routerLink]="[‘/article‘]">文章模块</a>
  <a [routerLink]="[‘/product‘]">商品模块</a>
</header>
<router-outlet></router-outlet>

app-routing.module.ts

import { NgModule } from ‘@angular/core‘;
import { Routes,RouterModule } from ‘@angular/router‘;


const routes: Routes = [
  {

    path:‘user‘,loadChildren:‘./module/user/user.module#UserModule‘
  },{

    path:‘article‘,loadChildren:‘./module/article/article.module#ArticleModule‘
  },{

    path:‘product‘,loadChildren:‘./module/product/product.module#ProductModule‘
  },{

    path:‘**‘,redirectTo:‘user‘
  }

];

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

?

用户模块user.module.ts

import { NgModule } from ‘@angular/core‘;
import { CommonModule } from ‘@angular/common‘;

import { UserRoutingModule } from ‘./user-routing.module‘;
import { UserComponent } from ‘./user.component‘;
import { ProfileComponent } from ‘./components/profile/profile.component‘;
import { AddressComponent } from ‘./components/address/address.component‘;

@NgModule({
  declarations: [UserComponent,ProfileComponent,AddressComponent],imports: [
    CommonModule,UserRoutingModule
  ]
})
export class UserModule { }

 user-routing-module.ts

import { NgModule } from ‘@angular/core‘;
import { Routes,RouterModule } from ‘@angular/router‘;

import { UserComponent } from ‘./user.component‘;

import { ProfileComponent } from ‘./components/profile/profile.component‘;
import { AddressComponent } from ‘./components/address/address.component‘;

const routes: Routes = [
  {
    path:‘‘,component:UserComponent
  },{
    path:‘profile‘,component:ProfileComponent
  },{
    path:‘address‘,component:AddressComponent
  }
];

@NgModule({
  imports: [RouterModule.forChild(routes)],exports: [RouterModule]
})
export class UserRoutingModule { }

?其他模块类似配置

自定义模块的父子路由

import { NgModule } from ‘@angular/core‘;
import { Routes,RouterModule } from ‘@angular/router‘;


import { ProductComponent } from ‘./product.component‘;


import { PlistComponent } from ‘./components/plist/plist.component‘;
import { CartComponent } from ‘./components/cart/cart.component‘;
import { PcontentComponent } from ‘./components/pcontent/pcontent.component‘;


const routes: Routes = [

  {
    
    path:‘‘,component:ProductComponent,children:[
      {path:‘cart‘,component:CartComponent},{path:‘pcontent‘,component:PcontentComponent}
    ]

  },{path:‘plist‘,component:PlistComponent}
];

@NgModule({
  imports: [RouterModule.forChild(routes)],exports: [RouterModule]
})
export class ProductRoutingModule { }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读