什么是AngularJS及优点总结!

发布时间:2016/3/26 标签: AngularJS 分类:前端框架

AngularJS最初由Misko Hevery 和Adam Abrons于2009年开发,后来成为了Google公司的项目。AngularJS弥补了HTML在构建应用方面的不足,其通过使用标识符(directives)结构,来扩展Web应用中的HTML词汇,使开发者可以使用HTML来声明动态内容,从而使得Web开发和测试工作变得更加容易。

AngularJs是为了克服HTML在构建应用上的不足而设计的,AngularJs2.0为移动APP而生!

Angularjs 版本简介

https://github.com/angular/angular.js/releases/ 

AngularJS功能:AngularJS 是专门为应用程序设计的 HTML。

AngularJS 使得开发现代的单一页面应用程序(SPAs:Single Page Applications)变得更加容易。

  1. AngularJS 把应用程序数据绑定到 HTML 元素。
  2. AngularJS 可以克隆和重复 HTML 元素。
  3. AngularJS 可以隐藏和显示 HTML 元素。
  4. AngularJS 可以在 HTML 元素"背后"添加代码。
  5. AngularJS 支持输入验证

Angularjs号称 下一代web应用 主要特性如下:

  1. MVC
  2. 模块化与依赖注入
  3. 双向数据绑定
  4. 指令与UI控件

AngularJs优点介绍

AngularJS是一款优秀的前端JS框架,已被用于Google的多款产品当中。该框架有着诸多特性,最为核心的是:MVVM、模块化、自动化双向数据绑定、语义化标签、依赖注入等等,下面为大家介绍几个最优秀的特点。

1. MVC架构

AngularJS使用MVC架构来开发Web应用程序。要实现MVC,你只需拆分你的应用程序,其余全部由AngularJS管理即可。 MVC架构代表模型视图控制器,其中:模型负责维护数据->视图负责显示数据->控制器连接了模型和视图

2. 指令

指令允许你更改HTML标签的具体操作。这是一项非常强大的功能,它允许你创建自定义标签。使用指令标签会告知编译器在DOM元素中添加某些功能,甚至能够对其进行改动。AngularJS中还提供大量预置指令,你可以根据实际需要进行选择。

3. POJO

在AngularJS中使用的每一个对象都是POJO(传统JavaScript对象),这就意味着你不需要额外的getter和setter函 数。POJO能够为你提供用于对象操作的全部标准JavaScript函数。它能帮助你从对象中移除和添加属性,并根据需要跳过某些对象。

4. 易于使用

AngularJS拥有丰富的功能集,它能通过降低代码编写需求的方式使开发过程变得更加轻松,它消除了我们在实现MVC架构时面临的种种难题。要 实现数据模型,你不需要写getter和setter函数了。此外,指令并不属于应用程序代码的组成部分,因此其他并行开发团队也可以对其加以管理。这一 切都最大程度降低了开发工作对开发人员的编程要求。

5. 通过依赖性注入进行测试

没有经过严格测试的应用程序是不完整的。事实上,测试确保交付项目中不存在错误的重要方式。AngularJS在构建过程中就已经将测试纳入其中 了。利用AngularJS创建应用程序全面与依赖性注入相对接,你可以很轻松地将样本数据注入到控制器中,从而检测其输出结果及操作方式是否符合预期。

6. 客户端解决方案

AngularJS在客户端起作用,但同时也能与桌面和移动浏览器相兼容。AngularJS可用于创建任意项目,且不需要对后端做出任何修改,因 此我们可以利用它开发任意应用程序前端。此外,由于AngulaJS本身属于客户端且能运行在任意支持JavaScript的浏览器之上,因此应用程序部 署工作的实现难度也就变得更低。

7. 灵活的过滤器

过滤器会在显示之前对数值进行重新定义,例如改变数值的小数点位、将字符串转换为大写等。这些过滤器与指令非常相似,而且能够以独立函数的方式起作用,只专门面向数据转换方面的任务。你也可以根据自己的需求创建自定义的过滤器。

现代浏览器推荐

做为一名前端人员,您有责任且有义务让用户升级浏览器拥有完美的浏览体验,与国际接轨,同时让更多的前端人员不再苦逼! 本站将不再支持IE9以下的版本!

QQ交流群

学习使人进步,交流让人提高!

Bootstrap/HTML5/CSS3交流群:233808496

Orchard/Nopcommerce/Umbraco交流群:187502451

Bootstrap/HTML5/CSS3交流二群:385480040