Angular7 - 模块

Angular 中的模块是指可以对与应用程序相关的组件、指令、管道和服务进行分组的地方。

如果您正在开发网站,页眉、页脚、左侧、中心和右侧部分将成为模块的一部分。

为了定义模块,我们可以使用NgModule。 当您使用 Angular –cli 命令创建新项目时,默认情况下会在 app.module.ts 文件中创建 ngmodule,如下所示 −

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';
import { NewCmpComponent } from './new-cmp/new-cmp.component';

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

NgModule需要导入如下 −

import { NgModule } from '@angular/core';

ngmodule的结构如下所示 −

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

它以@NgModule开头,包含一个具有 declarations, imports, providers 和 bootstrap 的对象。

Declaration

它是创建的组件数组。 如果创建任何新组件,它将首先被导入,并且引用将包含在声明中,如下所示 −

declarations: [ 
   AppComponent,  
   NewCmpComponent 
]

Import

它是应用程序中需要使用的模块数组。 它也可以被声明数组中的组件使用。 例如,现在在 @NgModule 中,我们看到导入的浏览器模块。 如果您的应用程序需要表单,您可以使用以下代码包含该模块 −

import { FormsModule } from '@angular/forms';

@NgModule 中的导入将如下所示 −

imports: [ 
   BrowserModule, 
   FormsModule 
]

Providers

这将包括创建的服务。

Bootstrap

这包括用于启动执行的主应用程序组件。