Angular学习之NgModule

angular是模块花的,NgModule就是用来声明一个module。每一个module

每个 Angular 应用都至少有一个 NgModule 类,也就是根模块,它习惯上命名为 AppModule,并位于一个名叫 app.module.ts 的文件中。引导这个根模块就可以启动你的应用。

NgModule 是一个带有 @NgModule 装饰器的类。@NgModule 装饰器是一个函数,它接受一个元数据对象,该对象的属性用来描述这个模块。其中最重要的属性如下。

  • imports(导入表) —— 那些导出了本模块中的组件模板所需的类的其它模块。
  • declarations(可声明对象表) —— 那些属于本 NgModule 的组件、指令、管道。
  • exports(导出表) —— 那些能在其它模块的组件模板中使用的可声明对象的子集。
  • providers —— 本模块向全局服务中贡献的那些服务的创建器。 这些服务能被本应用中的任何部分使用。(你也可以在组件级别指定服务提供商,这通常是首选方式。)
  • bootstrap —— 应用的主视图,称为根组件。它是应用中所有其它视图的宿主。只有根模块才应该设置这个 bootstrap 属性。

NgModule 为其中的组件提供了一个编译上下文环境。根模块总会有一个根组件,并在引导期间创建它。 但是,任何模块都能包含任意数量的其它组件,这些组件可以通过路由器加载,也可以通过模板创建。那些属于这个 NgModule 的组件会共享同一个编译上下文环境。

开发过程中,通常有几种情况需要单独定义NgModule。

  1. 一个大的应用模块通常可以拆分成多个更细小化、功能更纯粹的N个字模块。
  2. 某个应用中的一个功能组件,不只为本应用使用,也被多个应用使用,应该将该功能单独定义为一个NgModule。
  3. 将一些开发工具,辅助方法和系统层面统一的内容分类封装为多个NgModule。

猜你喜欢

转载自blog.csdn.net/ano1010/article/details/83240389