AngularJS学习笔记(部分源自--极客标签http://www.gbtags.com/gb/gbtutorials/225.htm)

来源:互联网 发布:linux .gitignore文件 编辑:程序博客网 时间:2024/05/25 05:36

AngularJS核心功能

数据绑定:自动同步视图和模式组件的数据

作用域:这些对象参考模式。作为控制器和视图的纽带

控制器:这些JS方法绑定到指定的作用域中

服务:AngularJS带有一些内建的服务,例如,$http来处理XMLHttpRequests. 这些都是Singleton对象,只需要实例化一次

过滤器:这些用来处理数组的子集并且返回新的数组

指令集: 指令集是DOM元素的标示(例如,元素,属性,CSS等等)。这些指令集可以用来定义自定义的HTML标签,生成新的自定义的组件。AngularJS定义了一些内建的指令集(ngBind, ngModal等等)

模板:这些组件用来帮助将数据生成页面视图。一个页面可以有一个或者多人模板。

路由: 用来切换不同视图的机制。

Model View Whatever:MVC是一个用来将程序分割为不同部分的设计模式,每一个有自己独立的功能。AngularJS实现的并非是传统意义上的MVC架构,而是类似MVVM(Model-View-ViewModel),AngularJS团队戏称为MVW(Model View Whatever)

深度链接:允许你编码状态到URL中,这样可以方便的收藏地址。程序可以从URL中恢复保存时的状态

依赖注入:AngularJS内建的依赖注入子系统,帮助开发人员更容易的创建开发,测试和理解代码和结构

 

AngularJS核心结构



AngularJS最基础最重要的三个部分,是下面三个基础指令:

启动:

ng-app: 这个指定定义并且关联了使用angularJS的HTML页面部分

建模:

ng-model: 这个指定定义并绑定AngularJS数据和HTML页面中相关输入元素(input,textarea等等)

输出:

ng-bind: 这个指定将AngularJS的数据绑定到页面指定HTML元素上,例如, <p>

相关说明

ng-app 指定暗示AngularJS程序开始

ng-mode 指定定义了一个模型名称,使用这个名称可以在上面ng-app中访问和使用相关数据

ng-bind 指定使用上面定义的模型名称展示到页面相关的元素中.

</div>关闭标签暗示了当前AngularJS应用结束

AngularJS最基础的重要参数:

ng-init:定义程序初始化的一些数据(一般可以在js脚本中将其设置为初始化函数)

ng-repeat:定义重获取数据集中的内容

AngularJS的基础表单式介绍

AngularJS的基本表达式使用如下格式:{{表达式}}

表达式的基本使用,和指令中的ng-bind非常类似,可以在页面生成对应内容。

ng-controller: 用来定义angularJS的相关控制器的指令,在AngularJS中使用控制器来控制数据,它主要来封装属性,及其方法。

 AngularJS的过滤器使用

在AngularJS中,我们使用过滤器(filter)来修改或者格式化内容,主要常用过滤器如下:

uppercase:转换为大写
lowercase:转换为小写
currency:转换为货币单位
filter:过滤内容
orderby:内容排序

Angular中可以使用如下方式来实现表单数据验证:

  • $dirty - 此状态表明数据已修改
  • $invalid- 此状态表明输入数据非法
  • $error- 此状态表明具体的验证错误

AngularJSScope

AngularJS Scope是一个特别的JS对象,用来连接控制器和视图。Scope包含了模型数据。在控制器中,通过$scope对象来访问模型数据

  • $scope作为第一个参数传递到控制器
  • $scope.message和$.scope.type是HTML页面中使用的模型
  • 赋值到模型的数据将在应用模块中体现,使用的控制器是shapeController

Scope是控制器制定滴。如果我们嵌套了控制器,那么子控制器就继承父控制器的scope。

AngulaJS 服务

AngularJS使用服务架构来支持关键点分离的概念。服务是Javascript方法,用来执行特定的功能。这样生成独立的单元,方便测试和维护。控制器根据需要可以调用需要的服务。服务通常使用以来注入方式导入。

AngularJS提供了很多内建的服务,例如,$http,$route,$window,$location等等。每一个服务都对应一个指定的方法。例如$http用来创建服务器端AJAX调用,$route用来定义相关路由信息等等。所有的服务都使用$符号开始。

两种方式创建服务

  • 工厂方法(Factory)
  • 服务方法(Service)

AngularJS 依赖注入

依赖注入是一个软件设计思想,代表组件间提供依赖而非硬编码。依赖于定位依赖并且让组件可配置。这种方式可以帮助组件重用,高可维护并且可测试。

AngularJS提供了超棒的依赖注入机制。提供如下核心组件用来作为依赖注入:

  • Value
  • Factory
  • Service
  • Provider
  • Constant
  • value

1.Value是一个简单的JS对象,在配置阶段用来传递数值到控制器(配置阶段指AngularJS启动自身)

2.Factory是一个用来返回值的方法。一旦服务或者控制器需要就创建了一个需要的值。这里使用工厂方法计算并且返回值

3.服务是一个单例的Javascript对象,包含了一系列的方法执行特定任务。Service是使用service方法定义,并且注入到控制器

4.Provider主要用来在配置阶段创建ServiceFactory等等。下面的script可以用来创建MathServiceProvider是一个指定的工厂方法,包含一个get方法来返回value/service/factory

5.Constants 用来在配置阶段传递数值,注意这个常量在配置阶段不可使用

AngularJS AJAX

AngularJS提供了$http控制,可以用来获取服务器端的数据。服务器通过一个数据库的读取操作来获取需要的数据。注意AngularJS需要JSON格式的数据。一旦数据准备完毕,$http可以使用获取数据。

0 0