- 8大核心
- 模块--Modules
- 组件--Components
- 组件是Angular框架最为重要的部分,通过不同组件(父子组件)的组合来构成组件树,进而实现组件化的编程
- 组件在被应用过程中有着完整的生命周期,包含以下几个过程
- Constructor:进行组件类的初始化,以及变量初始化赋值等;
- OnChanges:接受父组件传入的数据,为组件初始化提供相关数据,而且当数据发生变化,其就会触发执行;
- OnInit:实例化组件的初始化,可以在此进行数据变量的初始化;
- OnDestory:组件的销毁,用于取消消息订阅或者事件解绑等(这些订阅或事件通常是在OnInit等处订阅或绑定的);
- 模板--Templetes
- 数据绑定--Data Binding
- 属性绑定[value]
- 使用[value]表示,用于将组件类中数据传递到组件模板中展示,例如<input [value] = “changeData” />;
- 事件绑定(value)
- 使用(value)表示,将模板中产生数据通过函数调用的方式传递到组件类中,例如<input (value) = “change($event)” />;
- 双向绑定[(ngModel)]
- 使用[(ngModel)]表示,其中ngModel是Angular实现双向绑定的指令,其可以实现模板与组件类中数据的实时流动传递;
- 指令--Directives
- 自身并没有模板,实际是指作用于组件中的模板,在某种程度上增强了组件模板的扩展性,可以分为属性指令(一般是用于改变模板的样式或者动作等)及结构指令(如ngIf等);
- 服务--Service
- 用于实现某一功能的逻辑单元,如日志服务,接口数据查询,可用于组件功能的扩展,而且服务一般是通过依赖注入的方式被组件类调用的;
- 依赖注入--Dependency Injection
- 这是组件用于引用外部服务或者扩展的一种机制,实际引入但是对应类的一个实例,而且该实例可以进行缓存,以供其它组件调用;
- 分层注入:对于一个Angular项目来说,其常常是包含很多不同组件,这些组件根据不同层次构成了组件树,而分层注入机制就是用于组件树中服务的调用,如果在根组件引入了某种服务,并进行了注入,则根组件对应的所有子组件均可以使用,即一次注入,到处使用;而如果某个子组件想引入某种服务,则该服务在其子组件中有效,而在父组件中不能使用;
- 原数据--Metadata