在Angular应用中,Angular所依赖的模块不止一个,当我们需要某种功能特性的时候,就可以通过添加模块来实现,现在来总结一下常用的模块。
Angular 自己的模块
NgModule | 导入 | 使用目的 |
---|---|---|
BrowserModule | @angular/platform-browser | 在浏览器中运行Angular应用必备 |
BrowserAnimationsModule | @angular/platform-browser/animations | 为浏览器提共动画的支持 |
CommonModule | @angular/common | ngIf、ngFor这些常用指令 |
FormsModule | @angular/forms | 模版驱动式表单,比如:ngModel |
ReactiveFormsModule | @angular/forms | 响应式表单必备(formGroup) |
RouterModule | @angular/router | 路由模块,常用:RouterModule.forChild()、RouterModule.forRoot() |
HttpClientModule | @angular/common/http | 当需要发起请求获取远端服务器的时候,导入,常用:HttpClient(包含常见的Get,Post,Put,Delete请求等) |
在实际的项目中,当遇到提示
Can't bind to 'formGroup' since it isn't a known property of 'form'.
等类似的错误的时候,就可以快速定位是不是缺少导入模块导致的报错。
需要注意的是:在跟模块中,发现并没有导入 CommonModule 但是却意外的可以使用 ngIf 、 ngFor 这些指令,是因为:BrowserModule 重新导出了 CommonModule,从而使 CommonModule 的所有指令在任何导入了 BrowserModule 的模块中都可以使用。