ng g m [组件名称] --routing
2020-11-24 本文已影响0人
survivorsfyh
创建带有独立 module 的模块,该种方式可以更好的管理每个独立的模块,自定义的 module 即可以对外暴露也可以直接挂在主路由上实现懒加载的模式;
ng g m login --routing

新组件编辑
一.login 组件相关
login.module.ts
import {NgModule} from '@angular/core';
import {CommonModule} from '@angular/common';
import {LoginRoutingModule} from './login-routing.module';
import {LoginComponent} from './login.component'; // 导入
@NgModule({
declarations: [LoginComponent],
imports: [
CommonModule,
LoginRoutingModule // 配置 module
],
exports: [LoginComponent] // 配置组件
})
export class LoginModule {
}
login-routing.module.ts
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import {LoginComponent} from './login.component'; // 导入
const routes: Routes = [
{path:'', component: LoginComponent} // 配置路由
];
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule]
})
export class LoginRoutingModule { }
二、App 组件相关
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';
import {RouterModule, Routes} from '@angular/router';
import {IconsProviderModule} from './icons-provider.module';
import {NzLayoutModule} from 'ng-zorro-antd/layout';
import {NzMenuModule} from 'ng-zorro-antd/menu';
import {FormsModule} from '@angular/forms';
import {HttpClientModule} from '@angular/common/http';
import {BrowserAnimationsModule} from '@angular/platform-browser/animations';
import {NZ_I18N} from 'ng-zorro-antd/i18n';
import {zh_CN} from 'ng-zorro-antd/i18n';
import {registerLocaleData} from '@angular/common';
import zh from '@angular/common/locales/zh';
import {LoginModule} from './routes/passport/login/login.module'; // 导入
registerLocaleData(zh);
@NgModule({
declarations: [
AppComponent,
],
imports: [
BrowserModule,
AppRoutingModule,
RouterModule,
LoginModule, // 注入模块
IconsProviderModule,
NzLayoutModule,
NzMenuModule,
FormsModule,
HttpClientModule,
BrowserAnimationsModule,
],
providers: [{provide: NZ_I18N, useValue: zh_CN}],
bootstrap: [AppComponent]
})
export class AppModule {
}
app-routing.module.ts
import {NgModule} from '@angular/core';
import {Routes, RouterModule} from '@angular/router';
const routes: Routes = [
{path: '', pathMatch: 'full', redirectTo: '/login'},
{
path: 'login',
loadChildren: () => import('./routes/passport/login/login.module').then(m => m.LoginModule) // 配置路由
},
];
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule]
})
export class AppRoutingModule {
}
app.component.html
<app-rotation></app-rotation> // 引入使用
<router-outlet></router-outlet>
以上便是此次分享的全部内容,希望能对大家有所帮助!