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最基础最重要的三个部分,是下面三个基础指令:
启动:
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的基本表达式使用如下格式:{{表达式}}
表达式的基本使用,和指令中的ng-bind非常类似,可以在页面生成对应内容。
ng-controller: 用来定义angularJS的相关控制器的指令,在AngularJS中使用控制器来控制数据,它主要来封装属性,及其方法。
在AngularJS中,我们使用过滤器(filter)来修改或者格式化内容,主要常用过滤器如下:
uppercase:转换为大写
lowercase:转换为小写
currency:转换为货币单位
filter:过滤内容
orderby:内容排序
Angular中可以使用如下方式来实现表单数据验证:
AngularJSScope
AngularJS Scope是一个特别的JS对象,用来连接控制器和视图。Scope包含了模型数据。在控制器中,通过$scope对象来访问模型数据
Scope是控制器制定滴。如果我们嵌套了控制器,那么子控制器就继承父控制器的scope。
AngularJS使用服务架构来支持关键点分离的概念。服务是Javascript方法,用来执行特定的功能。这样生成独立的单元,方便测试和维护。控制器根据需要可以调用需要的服务。服务通常使用以来注入方式导入。
AngularJS提供了很多内建的服务,例如,$http,$route,$window,$location等等。每一个服务都对应一个指定的方法。例如$http用来创建服务器端AJAX调用,$route用来定义相关路由信息等等。所有的服务都使用$符号开始。
两种方式创建服务
依赖注入是一个软件设计思想,代表组件间提供依赖而非硬编码。依赖于定位依赖并且让组件可配置。这种方式可以帮助组件重用,高可维护并且可测试。
AngularJS提供了超棒的依赖注入机制。提供如下核心组件用来作为依赖注入:
1.Value是一个简单的JS对象,在配置阶段用来传递数值到控制器(配置阶段指AngularJS启动自身)
2.Factory是一个用来返回值的方法。一旦服务或者控制器需要就创建了一个需要的值。这里使用工厂方法计算并且返回值
3.服务是一个单例的Javascript对象,包含了一系列的方法执行特定任务。Service是使用service方法定义,并且注入到控制器
4.Provider主要用来在配置阶段创建Service,Factory等等。下面的script可以用来创建MathService。Provider是一个指定的工厂方法,包含一个get方法来返回value/service/factory
5.Constants 用来在配置阶段传递数值,注意这个常量在配置阶段不可使用
AngularJS提供了$http控制,可以用来获取服务器端的数据。服务器通过一个数据库的读取操作来获取需要的数据。注意AngularJS需要JSON格式的数据。一旦数据准备完毕,$http可以使用获取数据。