我试图理解angularjs-2,然后我碰到@Module
>导入
>声明
>提供者
> imports使得导出的其他模块的声明在当前模块中可用
>声明是使当前模块中的指令(包括组件和管道)可用于当前模块中的其他指令。指令,组件或管道的选择器仅在声明或导入时才与HTML匹配。
>提供商将为DI提供已知的服务和价值。它们被添加到根范围,并且它们被注入到具有它们作为依赖的其他服务或指令。
>声明是使当前模块中的指令(包括组件和管道)可用于当前模块中的其他指令。指令,组件或管道的选择器仅在声明或导入时才与HTML匹配。
>提供商将为DI提供已知的服务和价值。它们被添加到根范围,并且它们被注入到具有它们作为依赖的其他服务或指令。
提供者的一个特殊情况是延迟加载模块,它们获得自己的子注入器。延迟加载模块的提供者只提供给这个延迟加载模块默认情况下(不是整个应用程序,因为它是与其他mdoules)。
有关模块的更多细节,请参见https://angular.io/docs/ts/latest/guide/ngmodule.html
> exports使组件,指令和管道在添加此模块的模块中可用于导入。 exports也可以用于重新导出模块,如CommonModule和FormsModule,这通常在共享模块中完成。
> entryComponents注册用于离线编译的组件,以便它们可以与ViewContainerRef.createComponent()一起使用。路由器配置中使用的组件是隐含添加的。
TypeScript导入
import … from’foo / bar'(alsoindex.ts`)用于TypeScript导入。每当在另一个typescript文件中声明的typescript文件中使用标识符时,您都需要这些标识符。
在@NgModule()和TypeScript导入中的导入是完全不同的概念。