最近公司在研发新的web平台,对于前端的开发最终选定使用Angular框架进行开发,而经过这一段时间的学习与研究,基本可以使用其进行前端业务的开发,在此将Angular框架的基本原理知识进行简单总结,并使用Primeng组件库来实现简单的应用开发,这里说的是指Angular2以后的版本。
(1) Angualr的8大核心构成:
模块--Modules
组件--Templetes
指令--Directives
组件--Components
数据绑定--Data Binding
依赖注入--Dependency Injection
原数据--Metadata
服务--Services
(2) 组件:
1) 组件是Angular框架最为重要的部分,通过不同组件(父子组件)的组合来构成组件树,进而实现组件化的编程;通常一个组件包含**.ts(具体业务逻辑的处理)/**.css(组件的css美化)/**.html(组件的前端页面展示)三部分.
2) 组件在被应用过程中有着完整的生命周期,包含以下几个过程:
1. Constructor:进行组件类的初始化,以及变量初始化赋值等;
2. OnChanges:接受父组件传入的数据,为组件初始化提供相关数据,而且当数据发生变化,其就会触发执行;
3. OnInit:实例化组件的初始化,可以在此进行数据变量的初始化;
4. OnDestory:组件的销毁,用于取消消息订阅或者事件解绑等;
3) 从结构来划分,组件代码常常包含装饰器及组件类两部分;
装饰器------用于修饰对应组件类,将元数据注入到对应组件类中。
@Component({
selector: 'plx-table', -------selectorshi css3的选择器,在代码运行时,其会从html中匹配plx-table标签(
template: '
{{data}}
'------其中input是插入的双向绑定的数据,template为模板,次例为内联模板,也可以为templateUrl: './app.component.html'。{{data}}
',
(7) 分层注入:对于一个Angular项目来说,其常常是包含很多不同组件,这些组件根据不同层次构成了组件树,而分层注入机制就是用于组件树中服务的调用,如果在根组件引入了某种服务,并进行了注入,则根组件对应的所有子组件均可以使用,即一次注入,到处使用;而如果某个子组件想引入某种服务,则该服务在其子组件中有效,而在父组件中不能使用;
(8) Angular运行的整体流程
(9) Primeng组件库的使用:Primeng组件库拥有比较完善组件,其基于MIT开源协议,可以放心的进行开发改装使用,注意,在引入样式是时候采用下图方式,避免入坑,否则编译报错。