Angular--Module的使用

Angular是一个用于构建客户端应用的框架,利用TypeScript实现核心功能。本文详细介绍了Angular的基本构造块NgModule,包括其定义、作用及元数据属性,如declarations、exports、imports等。同时,列举了常用NgModule模块,如BrowserModule、FormsModule等,以及它们的应用场景。

Angular 是一个用html 和typescript 构建客户端应用的平台与框架
它将核心功能和可选功能作为一组TypeScript 库进行实现,你可以把它们导入到你的应用中。

1. 模块Module

  1. Angular 应用的基本构造块是NgModule, 它为组件提供了编译的上下文环境。
  2. Angular 应用就是由一组NgModule定义的。 NgModule 可以将其组件和一组相关代码(如服务)关联起来,形成功能单元。
  3. 一个Angular应用至少有一个用于启动的根模块(root module), 根模块通常命名为AppModule,并位于一个名叫 app.module.ts 的文件中。还会有很多特性模块(feature module)
  1. NgModule 是由@NgModule() 装饰器定义的类。
  2. NgModules 用于配置注入器和编译器(the injector and the compiler),并帮你把那些相关的东西组织在一起。
  3. @NgModule() 装饰器是一个函数,参数是一个元数据对象,元数据对象的属性用于描述这个模块。其中最重要的属性如下:
  • declarations(可声明对象表) ——属于本 NgModule 的组件指令管道
  • exports(导出表) —— 用于其它模块的组件模板中使用的声明对象的子集(the subset of declarations)。
  • imports(导入表) —— 其他模块,本NgModule声明的组件需要使用它们的导出类。
  • providers —— 本模块向全局服务中贡献的那些服务的创建器。 这些服务能被本应用中的任何部分使用。(你也可以在组件级别指定服务提供商,这通常是首选方式。)
  • bootstrap —— 应用的主视图,称为根组件。它是应用中所有其它视图的宿主。只有根模块才应该设置这个 bootstrap 属性。
  1. @NgModule 的参数是一个元数据对象,用于描述如何编译组件的模板,以及如何在运行时创建注入器。 它会标出该模块自己的组件、指令和管道(declarations),通过 exports 属性公开其中的一部分,以便外部组件使用它们。NgModule 还能把一些服务提供商添加到应用的依赖注入器中(provider)。

2.常用模块NgModules

 
NgModuleImport it fromWhy you use it
BrowserModule@angular/platform-browser当你想要在浏览器中运行app 时
CommonModule@angular/common当你想要使用NgIf 和NgFor时
FormsModule@angular/forms当要构建模板驱动表单时
ReactiveFormsModule@angular/forms当要构建响应式表单时
RouterModule@angular/router当要使用路由功能,并且你要用到RouterLink, forRoot() 和.forChild()时
HttpClientModule@angular/common/http当要和服务器对话时

BrowserModule 导入了 CommonModule,它贡献了很多通用的指令,比如 ngIfngFor。 另外,BrowserModule 重新导出了 CommonModule,以便它所有的指令在任何导入了 BrowserModule 的模块中都可以使用。
对于运行在浏览器中的应用来说,都必须在根模块 AppModule 中导入 BrowserModule ,因为它提供了启动和运行浏览器应用时某些必须的服务。BrowserModule 的提供商是面向整个应用的,所以它只能在根模块中使用,而不是特性模块。 特性模块只需要 CommonModule 中的常用指令,它们不需要重新安装所有全应用级的服务。

 
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值