AngularJS 最初由 Misko Hevery 和 Adam Abrons 于 2009 年开发,后来成为了 Google 公司的项目。AngularJS 弥补了 HTML 在构建应用方面的不足,其通过使用标识 符(directives)结构,来扩展 Web 应用中的 HTML 词汇,使开发者可以使用 HTML 来声 明动态内容,从而使得 Web 开发和测试工作变得更加容易。 AngularJS 使得开发现代的单一页面应用程序(SPAs:Single Page Applications)变得更加容易。
在开始我们的Hello World程序之前,我们首先应该下载我们的Angularjs函数库。下载地址为:Angularjs 1.6.1。 下载函数库解压后,里面内容如下:
注意:
其中angular.js和angular.min.js为angularjs 1.6.1的函数库其他的函数库均为angular的插件库(目前用不到)在这里解释几个问题:
问题一:Angularjs 在什么时候执行? 答:AngularJS会在DOMContentLoaded事件触发时执行(自动执行)。然后解析Html页面
问题二:Angularjs解析HTML页面的步骤 1.首先寻找ng-app指令所在的DOM树,如果找到该DOM数,那么执行改DOM便是我们应用作用域。 2.载入和 指令 内容相关的模块。 3.创建一个应用的“注入器(injector)” 4.编译我们的ng-app作用域中的HTML标签
AngularJS 表达式写在双大括号内:{{ expression }}。 AngularJS 将在表达式书写的位置”输出”数据。AngularJS 表达式 很像 JavaScript 表达式:它们可以包含文字、运算符和变量。
表达式中包含字符串(注意:字符串有双引号,或者单引号) {{"hello world"}} 表达式中包含数字(注意:这里我们是使用变量,区别字符串有引号) <div ng-app="" ng-init="quantity=1;cost=5"> <p>总价: {{ quantity * cost }}</p> </div> 表达式中有对象 <div ng-app="" ng-init="person={firstName:'John',lastName:'Doe'}"> <p>姓为 {{ person.lastName }}</p> 表达式中有数组 <div ng-app="" ng-init="points=[1,15,19,2,40]"> <p>第三个值为 {{ points[2] }}</p> </div>AngularJS控制器控制AngularJS应用程序的数据.我们一般是使用ng-controller 指令定义应用程序控制器,在控制器中制定我们的数据,然后在html通过表达式输出我们的数据(也可以通过指令输出我们的数据)。
AngularJS 过滤器可用于转换数据,我们一般可以向表达式中添加过滤器控制我们的输出,也可以在制定中添加我们的过滤器,同样我们可以在控制器中使用过滤器,我们还可以自定义我们自己的过滤器,具体的将在以后介绍。
在使用Angular 时,很自然地就会往 controller 和 scope 里堆满不必要的逻辑。 一定要早点意识到,controller 这一层应该很薄;也就是说,应用里大部分的业务逻辑 和持久化数据都应该放在 service 里,service 可以用来永久保存应用的数据, 并且这些数据可以在不同的 controller 之间使用。
我们使用模块是为了在设计大型程序时可以进行模块化编程,将不同的功能分为各种模块。这个如何实现也将在以后说明。
如果我们仅仅使用原生的AngularJS,可能功能会不足,因此我们会借助一下AngularJS插件,例如:ngRoute路由插件,ngResource数据交互插件,ngAnimate动画插件,ngSanitize解析HTML插件。
在此篇博客中主要介绍了:
什么是AngularJS?然后写了一个Hello World程序然后又介绍了一些Angularjs的一些名词