什么是模块
模块就是提供相对独立功能的一组代码
模块的组成部分可以有:组件,指令,服务,管道等
从某种角度说,它像一个小型的应用
@NgModule 注解
· declarations 数组:模块拥有的组件、指令或管道。注意每个组件/指令/管道只能在一个模块中声明。
providers 数组 : 模块中需要使用的服务
exports数组 :暴露给其他模块使用的组件、指令或管道等。
imports 数组:导入本模块需要的依赖模块,注意是模块
模块中的坑
导入其他模块时,需要知道使用该模块的目的
如果是组件,那么需要在每一个需要模块都进行导入
如果是服务,那么一般来说在根模块中导入一次即可
需要在每个需要的模块中进行导入的
CommonModule:提供绑定、*ngIf 和*ngFor等基础指令,基本上每个模块都需要导入它
FormsModule/ReactiveFormsModule:表单模块需要在每个需要的模块导入
提供组件、指令或管道的模块
只在根模块导入一次的
HttpClientModule/BrowserAnimationsModule/NoopAnimationsModule
只提供服务的模块