angular4学习笔记:@NgModule

  

  @NgModule:负责管理依赖的最重要的一部分,经过@NgModule你能够把一些特定的功能,业务逻辑,程序或者其余的逻辑方法封装成一个模块集合。在这个模块(module)中包含全部的组件,服务,管道和指令,不须要在其余地方重复声明这些依赖。
@NgModule({ 
  /* providers: 这个选项是一个数组,须要咱们列出咱们这个模块的一些须要共用的服务,而后咱们就能够在这个模块的各个组件中经过依赖注入使用了. providers : Provider[] */   providers : Provider[],   /* imports: 数组类型的选项,咱们的模块须要依赖的一些其余的模块,这样作的目的使咱们这个模块,能够直接使用别的模块提供的一些指令,组件等等. */   imports: [ BrowserModule ],   /* declarations: 数组类型的选项, 用来声明属于这个模块的指令,管道等等,而后咱们就能够在这个模块中使用它们了. */   declarations: [ AppComponent ],   /* bootstrap: 数组类型选项, 指定了这个模块启动的时候应该启动的组件.固然这些组件会被自动的加入到entryComponents中去 */   bootstrap: [ AppComponent ],   /* exports: 数组类型的选项,咱们这个模块须要导出的一些组件,指令,模块等; 若是别的模块导入了咱们这个模块, 那么别的模块就能够直接使用咱们在这里导出的组件,指令模块等. */   exports : Array<Type<any>|any[]>,   /* entryComponents: 数组类型的选项,指定一系列的组件,这些组件将会在这个模块定义的时候进行编译 // Angular会为每个组件建立一个ComponentFactory而后把它存储在ComponentFactoryResolver */   entryComponents : Array<Type<any>|any[]>   /* schemas: 不属于Angular的组件或者指令的元素或者属性都须要在这里进行声明 */   schemas : Array<SchemaMetadata|any[]>   /* id: 字符串类型的选项,模块的隐藏ID,它能够是一个名字或者一个路径;用来在getModuleFactory区别模块,若是这个属性是undefined , 那么这个模块将不会被注册 */   id : string })
相关文章
相关标签/搜索