angular2 NgModel模块有什么用

  介绍

这篇文章主要介绍了angular2 NgModel模块有什么用,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。

<强> angular2 NgModel模块

在angular2中一个模块指的是使用@NgModule修饰的类.@NgModule利用一个元数据对象来告诉角如何去编译和运行代码。一个模块内部可以包含组件,指令,管道,并且可以将它们的访问权限声明为公有,以使外部模块的组件可以访问和使用到它们。我们也可以通过定义子模块来扩展我们应用的功能。

NgModule的API

界面NgModule {//供应商:这个选项是一个数组,需要我们列出我们这个模块的一些需要共用的服务//然后我们就可以在这个模块的各个组件中通过依赖注入使用了。   提供商:提供商[]//声明:数组类型的选项,用来声明属于这个模块的指令,管道等等。//然后我们就可以在这个模块中使用它们了。   声明:Array |任何[]比;//entryComponents:数组类型的选项,指定一系列的组件,这些组件将会在这个模块定义的时候进行编译//角会为每一个组件创建一个ComponentFactory然后把它存储在ComponentFactoryResolver   entryComponents: Array

常用API简介

NgModule的主要属性如下:

声明:模块内部组件/指令/管道的列表,声明一下这个模块内部成员,声明之后才能使用对应的组件等。

提供者:指定应用程序的根级别需要使用的服务。(Angular2中没有模块级别的服务,所有在NgModule中声明的提供者都是注册在根级别的依赖注入器中)

进口:导入其他模块,其它模块暴露的出的组件、指令、管道等可以在本模块的组件中被使用。比如导入CommonModule后就可以使用NgIf, NgFor等指令。

出口:用来控制将哪些内部成员暴露给外部使用。导入一个模块并不意味着会自动导入这个模块内部导入的模块所暴露出的公共成员。除非导入的这个模块把它内部导入写的模块到出口中。

引导:通常是应用启动的根组件,一般只有一个component.bootstrap中的组件会自动被放入到entryComponents中。

entryCompoenents:不会再模板中被引用到的组件。这个属性一般情况下只有ng自己使用,一般是引导组件或者路由组件,ng会自动把引导,路由组件放入其中。除非不通过路由动态将组件加入到dom中,否则不会用到这个属性。

子模块

随着程序的壮大,单一的根模块已不能清晰的划分职责,这时候便可以引入特性Module.Feature模块与根模块的创建方式一样,所有的模块共享一个运行期上下文和依赖注入器。

功能模块与根模块的职责区别主要有以下两点:

根模块的目的在于启动应用,功能模块的目的在于扩展应用

功能模块可以根据需要暴露或隐藏具体的实现

Angular2提供的另一个与模块有关的技术就是延迟加载了。默认情况下Angular2将所有的代码打包成一个文件,目的是为了提高应用的流畅性,但是如果是运行在移动中的应用,加载一个大文件可能会过慢,所以rc5提供了一种延迟加载方式。

进口{ModuleWithProviders} & # 39; @angular/核心# 39;;   进口{路线,RouterModule} & # 39; @angular/路由器# 39;;      出口const路线:路线=(   {路径:& # 39;& # 39;,redirectTo: & # 39;接触# 39;,pathMatch: & # 39;全# 39;},   {路径:& # 39;危机# 39;,loadChildren: & # 39;应用程序/危机/crisis.module # CrisisModule& # 39;},//可以延迟加载子模块,子模块的结构和父模块一样,它会去加载子模块中的航线配置,并跳转对应的组件中去。   {路径:& # 39;英雄# 39;,loadChildren: & # 39;应用程序/英雄/hero.module # HeroModule& # 39;}   ];      出口const路由:ModuleWithProviders=RouterModule.forRoot(航线);

angular2 NgModel模块有什么用