本页使用了标题或全文手工转换

AngularJS

维基百科,自由的百科全书
跳转至: 导航搜索
AngularJS
AngularJS logo
开发者 Google Inc.和社区。
初始版本 2010年10月20日,​6年前​(2010-10-20[1]
稳定版本 2.4.0(2016年12月20日,​6个月前​(2016-12-20[2]
开发状态 活跃
编程语言 JavaScript
操作系统 跨平台, see 旧版浏览器支持
文件大小 144 KB 产品
1 MB 开发
类型 JavaScript库
许可协议 MIT许可证
网站 www.angularjs.org
仓库 github.com/angular/angular.js

AngularJS是一款开源JavaScript库,由Google维护,用来协助单一页面应用程序英语single-page application运行的。它的目标是通过MVC模式(MVC)功能增强基于浏览器的应用,使开发和测试变得更加容易。

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

Angular的哲学[编辑]

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

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

设计目标:

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

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

Angular主要的指令(自定义标签)[编辑]

双向数据绑定[编辑]

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]

旧版浏览器支持[编辑]

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

和Backbone.js的比较[编辑]

Data-binding数据绑定[7]
REST [8]
Templating模板[7]


依赖注入

参照[编辑]

  1. ^ Earliest known releases
  2. ^ Release 2.4.0. GitHub. [2016-12-31]. 
  3. ^ What Is Angular?. [12 February 2013]. 
  4. ^ angular.js CHANGELOG. [2015-06-18]. 
  5. ^ AngularJS: Developer Guide: Internet Explorer Compatibility. Google. [2014-10-12]. 
  6. ^ Minar, Igor. AngularJS 1.3: a new release approaches. AngularJS Blog. [2014-10-12]. 
  7. ^ 7.0 7.1 Backbonejs vs Angularjs: Demystifying the myths. [13 February 2013]. 
  8. ^ Javascript Frameworks And Data Binding. [13 February 2013]. 

继续阅读[编辑]

外部链接[编辑]