自学ng2 -速读教程

1

  AppModule: 根模块 (大型应用还会有很多特性模块->专注某一块应用)根模块并不需要export

    -- 每个模块都带有一个@NgModule装饰器的类

        -- declarations - 声明组件

        -- exports - 可用于其他模块的组件模板

        -- imports - 声明模块

        -- providers - 服务创建者,加入全局服务列表中

        -- bootstrap - 指定根组件,只有根模块才能设置bootstrap属性

  you always use main.ts to lead AppModule for run

  (js模块和ng模块完全不同且无关,只有加入了imports属性中,模块才可使用)

  ( imports: [ BrowserModule ],这种情况下同时使用了ng和js的模块系统 )

2

  组件负责控制屏幕上的一小块区域,称之为视图。组件是一个特殊的指令

    -- 为数据绑定提供属性和方法,其他琐事委托给服务

    -- 在类中定义的组件逻辑,为视图提供支持。

    -- 组件的模板( @Component({ providers: [] }) 注入元数据,对应@Injectable  )

    -- { selector, templateUrl, stylesUrl, providers }  

    --  父子通信 [hero]="selectedHero"

    -- 属性绑定  [(ngModel)] = "hero.name" ( 响应change事件 )

    -- 事件  ( click )="selectHero(hero)

  Service:主要用于获取数据、验证输入、写日志等 (最大消费者-组件)

  依赖注入:提供类的新实例并处理类所需的全部依赖,ng通过依赖注入来提供组件所需的服务

    -- ng通过组件构造函数的参数类型得知组件需要哪些服务

    -- 注入器用于存放它创建过的服务实例,providers创建一个新的服务实例

  总结:模块,组件,模板,元数据,数据绑定,指令,服务,依赖注入

原文地址:https://www.cnblogs.com/SharkChilli/p/7954867.html