angular架构的基本概念
(1)组件:是angular应用的基本构建块,你可以把组件理解为一段带有业务逻辑和数据的html, 组件有父组件,子组件,孙子组件
(2)服务:用来封装可重用的业务逻辑,组件可以调用服务,服务也可以调用服务
(3)指令:允许你向html添加自定义行为
(4)模块:模块用来将应用中不同的部分组织成一个Augular框架可以理解的单元
(5)组件元数据装饰器@Component(),
组件元数据装饰器@Component,简称装饰器,用来告知angular框架如何处理一个typeScript类。
component装饰器包含多个属性,这些属性的值叫做元数据,angular会根据这些属性的值来渲染组件并执行组件的逻辑(6)模板Template,
通过组件自带的模板来定义组件的外观,模板是以HTML的形式存在,告诉angular应该如何来渲染组件,
一般来说,模板看起来很像html,但是我们可以再模板中使用angular的数据绑定语法来呈现控制器中的数据(7)控制器Controller,
控制器就是普通的typeScript类,他会被@component装饰器来装饰,控制器会包含组件所有的属性和方法,
绝大多数的页面逻辑都是写在控制器里,控制器通过数据绑定与模板来通讯,模板展现控制器的数据,控制器处理模板上发生的事件
(8)数据绑定,
就是模板的各个部分与控制器的各个部分相互作用的一个机制,我们在模板中添加绑定标记,
如何把二者联系起来{{title}}最常见的将控制器的值绑定到模板中的绑定方法,叫做差值表达式(9)@Inputs() 输入属性,
@inputs(),用来接收外部传入的数据的,输入属性使得父组件直接传递数据给子组件,
angular程序其实就是一个组件树,输入属性允许你在组件树中传递数据。
(10)providers
提供器 providers,用来做依赖注入的。
(11)lifecycle Hooks
在一个组件从创建到销毁的过程中有多个钩子可以被用来触发,来执行各种业务数据,
举例,在一个组件被实例化的时候,执行一段初始化的逻辑,从后台读取数据进到组件里面去。
(12)styles
组件可以关联一些样式表文件,可选的
(13)Animation
ngular提供了一个动画包来张建组件的动画效果
(14)@Outputs 输出属性
与前面的输入属性相对的,定义一个其他组件感兴趣的事件或者在组件间共享数据