Angular JS (Angular.JS)
Angular JS (Angular.JS)
是一组用来开发Web页面的框架、模板以及数据绑定和丰富UI组件。
它支持整个开发进程,提供web应用的架构,无需进行手工DOM操作。
AngularJS很小,只有60K,兼容主流浏览器,与 jQuery 配合良好。
数据绑定可能是AngularJS最酷最实用的特性。
它能够帮助你避免书写大量的初始代码从而节约开发时间。
一个典型的web应用可能包含了80%的代码用来处理,查询和监听DOM。
数据绑定使得代码更少,你可以专注于你的应用。
传统来说,当model变化了。
开发人员需要手动处理DOM元素并且将属性反映到这些变化中。
这个一个双向的过程。一方面,model变化驱动了DOM中元素变化,
另一方面,DOM元素的变化也会影响到Model。这个在用户互动中更加复杂,
因为开发人员需要处理和解析这些互动,然后融合到一个model中,并且更新View。
这是一个手动的复杂过程,当一个应用非常庞大的时候,将会是一件非常费劲的事情。
特性二:模板
在AngularJS中,一个模板就是一个HTML文件。
但是HTML的内容扩展了,包含了很多帮助你映射model到view的内容。
HTML模板将会被浏览器解析到DOM中。
DOM然后成为AngularJS编译器的输入。
AngularJS将会遍历DOM模板来生成一些指导,即,directive(指令)。
所有的指令都负责针对view来设置数据绑定。
我们要理解AuguarJS并不把模板当做String来操作。
输入AngularJS的是DOM而非string。
数据绑定是DOM变化,不是字符串的连接或者innerHTML变化。
使用DOM作为输入,而不是字符串,是AngularJS区别于其它的框架的最大原因。
使用DOM允许你扩展指令词汇并且可以创建你自己的指令,甚至开发可重用的组件。
特性三:MVC
针对客户端应用开发AngularJS吸收了传统的MVC基本原则。
MVC或者Model-View-Controll设计模式针对不同的人可能意味不同的东西。
AngularJS并不执行传统意义上的MVC,更接近于MVVM(Model-View-ViewModel)。
特性四:依赖注入(Dependency Injection,即DI)
AngularJS拥有内建的依赖注入子系统,可以帮助开发人员更容易的开发,理解和测试应用。
DI允许你请求你的依赖,而不是自己找寻它们。
比如,我们需要一个东西,DI负责找创建并且提供给我们。
特性五:Directives(指令)
指令是我个人最喜欢的特性。
你是不是也希望浏览器可以做点儿有意思的事情?那么AngularJS可以做到。
指令可以用来创建自定义的标签。它们可以用来装饰元素或者操作DOM属性。