AngularJS极速入门

你。 提交于 2020-01-17 04:29:29

AngularJS 诞生于2009年,由Misko Hevery 等人创建,后为Google所收购。是一款优秀的前端JS框架,已经被用于Google的多款产品当中。AngularJS有着诸多特性,最为核心的是:MVC(Model–view–controller)、模块化、自动化双向数据绑定、语义化标签、依赖注入等等。
AngularJS 是一个 JavaScript框架。它是一个以 JavaScript 编写的库。它可通过<script>标签添加到HTML 页面。
AngularJS 通过 指令 扩展了 HTML,且通过 表达式 绑定数据到 HTML。
AngularJS 是以一个 JavaScript 文件形式发布的,可通过 script 标签添加到网页中。

 **1、什么是 AngularJS?**

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

AngularJS 把应用程序数据绑定到 HTML 元素。

AngularJS 可以克隆和重复 HTML 元素。

AngularJS 可以隐藏和显示 HTML 元素。

AngularJS 可以在 HTML 元素"背后"添加代码。

AngularJS 支持输入验证。

**2、特性**

AngularJS是一个功能强大的基于JavaScript开发框架用于创建富互联网应用(RIA)。有四大核心特性:MVC、模块化、指令系统和双向数据绑定。

(1)、AngulajJS为开发者提供的选项(使用JavaScript)在一个干净的MVC(模型 - 视图 - 控制器)的方式来编写客户端应用程序。

(2)、AngularJS写的应用都是跨浏览器兼容。AngularJS使用JavaScript代码自动处理适应每种浏览器。

(3)、AngularJS是开源的,完全免费的,并且由数千名世界各地的开发者开发维护。它是根据Apache许可证2.0版许可发布。

总体来说,AngularJS是一个用来构建大型应用,高性能的Web应用程序的框架,同时使它们易于维护。

**3、核心特征**

以下是AngularJS中最重要的核心功能:

(1)、数据绑定: 模型和视图组件之间的数据自动同步。

(2)、适用范围: 这些对象参考模型。它们充当控制器和视图之间的胶水。

(3)、控制器: 这些Javascript函数绑定到特定的范围。

(4)、服务: AngularJS配有多个内置服务,例如 $http 可作为一个XMLHttpRequest请求。这些单一对象在应用程序只实例化一次。

(5)、过滤器: 从一个数组的条目中选择一个子集,并返回一个新的数组。

(6)、指令: 指令是关于DOM元素标记(如元素,属性,CSS等等)。这些可以被用来创建作为新的,自定义部件的自定义HTML标签。AngularJS设有内置指令(如:ngBind,ngModel…)

(7)、模板:这些符合从控制器和模型信息的呈现的视图。这些可以是单个文件(如index.html),或使用“谐音”在一个页面多个视图。

(8)、路由: 它是切换视图的概念。

(9)、模型视图: MVC是一个设计模式将应用划分为不同的部分(称为模型,视图和控制器),每个都有不同的职责。 AngularJS并没有传统意义上的实现MVC,而是更接近于MVVM(模型 - 视图 - 视图模型)。 AngularJS团队将它作为模型视图。

(10)、深层链接: 深层链接,可以使应用程序状态进行编码在URL中而能够添加到书签。应用程序可从URL恢复到相同的状态。

(11)、依赖注入: AngularJS有一个内置的依赖注入子系统,开发人员通过使应用程序从而更易于开发,理解和测试。

**4、AngularJS的优点**

AngularJS提供一个非常干净和维护的方式来创造单页的应用。

AngularJS提供数据绑定功能在HTML中,从而给用户提供丰富和响应的体验

AngularJS代码可进行单元测试。

AngularJS使用依赖注入和利用关注点分离。

AngularJS提供了可重用的组件。

使用AngularJS,开发人员编写更少的代码,并获得更多的功能。

在AngularJS中,视图都是纯HTML页面,并用JavaScript编写控制器做业务处理。

AngularJS应用程序可以在所有主要的浏览器和智能手机,包括Android和iOS系统的手机/平板电脑上运行。

**5、AngulaJS的缺点**

虽然AngularJS自带很多优点,但我们应该考虑以下几点(缺点):

不安全:因为只是JavaScript一种框架,由AngularJS编写的应用程序是不安全的。服务器端身份验证和授权是必须用来保证应用程序的安全。

不可降解:如果应用程序的用户禁用JavaScript,那最后用户看到的只是基本页面,仅此而已。

**6、AngularJS组件**

AngularJS框架可分为以下三个主要部分组成:

ng-app : 指令定义和链接AngularJS应用程序到HTML。

ng-model : 指令绑定AngularJS应用数据的值到HTML输入控件。

ng-bind : 该指令绑定AngularJS应用程序数据到HTML标签。

最后让我们来看一下Angular的可爱之处
Angular通过给开发者呈现更高层次的抽象来简化应用的开发。和其他的抽象一样,它也以损失灵活性为代价。换句话说,Angular并不是适合任何应用的开发,Angular考虑的是构建CRUD应用,对于像游戏和有图形界面的编辑器之类的应用,会进行频繁且复杂的DOM操作,和CRUD应用不同。因此,可能不适合用Angular来构建。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!