AngularJS

本页使用了标题或全文手工转换,现处于中国大陆简体模式
求闻百科,共笔求闻
AngularJS
开发者Google Inc.和社区。
首次发布2010年10月20日,​13年前​(2010-10-20[1]
稳定版本
1.8.2
(2020年10月21日,​3年前​(2020-10-21[2]
编程语言JavaScript
操作系统跨平台,参见旧版浏览器支持
文件大小167 KB 生产环境版本
1.2 MB 开发环境版本
类型JavaScript函数库
许可协议MIT许可证
网站angularjs.org

AngularJS是一款由Google维护的开源JavaScript函数库,用来协助单一页面应用程序运行。它的目标是透过MVC模式(MVC)功能增强基于浏览器的应用,使开发和测试变得更加容易。在版本2(全面使用TypeScript)之后改名Angular,第N版以Angular N的形式命名。

函数库读取包含附加自定义(标签属性)的HTML,遵从这些自定义属性中的指令,并将页面中的输入或输出与由JavaScript变量表示的模型绑定起来。这些JavaScript变量的值可以手工设置,或者从静态或动态JSON资源中获取。

Angular的哲学

Angular 2应用程序的体系结构。 主要构建块是模块,组件,模板,元数据,数据绑定,指令,服务和依赖注入。

Angular的理念是声明式编程应该用于构建用户界面以及编写软件构建,而指令式编程非常适合来表示业务逻辑[3]框架采用并扩展了传统HTML,通过双向的数据绑定来适应动态内容,双向的数据绑定允许模型和视图之间的自动同步。因此,Angular使得对DOM的操作不再重要并提升了可测试性。

设计目标:

  • 将应用逻辑与对DOM的操作解耦。这会提高代码的可测试性。
  • 将应用程序的测试看的跟应用程序的编写一样重要。代码的构成方式对测试的难度有巨大的影响。
  • 将应用程序的客户端与服务端解耦。这允许客户端和服务端的开发可以齐头并进,并且让双方的复用成为可能。
  • 指导开发者完成构建应用程序的整个历程:从用户界面的设计,到编写业务逻辑,再到测试。

Angular遵循软件工程的MVC模式,并鼓励展现,数据,和逻辑组件之间的松耦合。通过依赖注入(dependency injection),Angular为客户端的Web应用带来了传统服务端的服务,例如独立于视图的控制。因此,后端减少了许多负担,产生了更轻的Web应用。

双向数据绑定

Angular在呈现和资料中间,可以简单创建双向的数据绑定。一旦创建双向绑定,用户输入,会由Angular自动传到一个变数中,再自动读到所有绑到它的内容,更新它。效果上就是立即的资料同步。在代码中修改变数,也会直接反应到呈现的外观上。不仅内容可以双向绑定,其他诸如类别、宽度、高度等等,都可以和变数与用户的输入,绑定起来。

开发历史

AngularJS在2009年由Miško Hevery和Adam Abrons开发,作为线上JSON储存服务的软件,它是以兆比特来计价,便于成为企业的应用服务。当初以"GetAngular.com"注册网域,但由于只有少量的注册用户,在两人决定放弃这个商业想法前,就把Angular开源了。

Abrons后来离开了这个计划,但在Google工作的Hevery和一些谷歌员工如Igor Minár和Vojta Jína等则继续开发维护此函数库。

发行

目前有两个正在维护的稳定版本:1.3.x和1.4.x,更新频率约为每周一次或每两周一次.[4]

旧版浏览器支持

Angular在1.2之后的版本不再支持Internet Explorer 6和7.[5]在1.3之后的版本停止对Internet Explorer 8的支持.

和Backbone.js的比较

REST [6]


依赖注入

参考文献

  1. Earliest known releases. [2019-11-15]. 
  2. Release 1.8.2. GitHub. [2020-10-21]. 
  3. What Is Angular?. [2013-02-12]. 
  4. angular.js CHANGELOG. [2015-06-18]. 
  5. AngularJS: Developer Guide: Internet Explorer Compatibility. Google. [2014-10-12]. 
  6. Javascript Frameworks And Data Binding. [2013-02-13]. 

延伸阅读

外部链接