理解 Angular 5.X 设计的初衷
2018-03-28 本文已影响26人
全栈开发之道
不能把Angular当作黑盒来使用,你必须理解它的工作原理
一方面原因在于,Angular是以其声明式的模板语法为核心提供API 开发接口的,开发者书写的模板,经过框架相当复杂的编译处理,才渲染出最终的视图对象。如果不尝试了解从模板
到视图对象
这个过程究竟发生了什么,你始终会有一种失控的感觉。
另一方面原因在于,Angular是一个框架,它搭好了应用程序的架子,留了一些空白地儿让开发者填充。如果不了解框架的运行机制,很难充分地利用好框架。
开发Angular的出发点,是为了实现用HTML来编写用户界面,想想一个静态网页有多容易开发,你就知道这是多么好的想法:
image.png
原生 HTML 的问题在哪里?
原生 HTML的问题在于,首先它需要借助于 JavaScript 才能实现用户与网页之间的交互;其次,原生HTML只有那么多标签可用,难以担当开发WEB APP的大任。
在Angular中,常看到离奇的标签,比如:<ez-gauge>。浏览器是不能直接解释这样的标签的,这怎么办呢? Angular团队很聪明,引入了编译器
的概念:在送给浏览器之前,先把有扩展标签的HTML翻译成浏览器可以支持的原生HTML: