前言
第1章 初识Angular
1.1 Angular简介
1.1.1 特点
1.1.2 适用范围
1.1.3 搭建开发Angular应用的环境
1.2 开发简单的Angular应用
示例1-1 编写一个简单的Angular程序
示例1-2 编写一个具有计算功能的Angular程序
示例1-3 编写一个绑定页面元素的Angular程序
示例1-4 编写一个绑定多个页面元素的Angular程序
1.3 本章小结
第2章 Angular基础知识
2.1 Angular中的表达式
2.1.1 Angular表达式与JavaScript表达式的区别
示例2-1 Angular表达式与JavaScript表达式之间的相互调用
2.1.2 $window窗口对象在表达式中的使用
示例2-2 $window窗口对象在表达式中的使用
2.1.3 Angular表达式的容错性
示例2-3 Angular表达式的容错性
2.2 Angular中的控制器
2.2.1 控制器的概念
2.2.2 控制器初始化$scope对象
示例2-4 控制器初始化$scope对象
2.2.3 添加$scope对象方法
示例2-5 通过表达式绑定$scope对象的方法
示例2-6 在事件中绑定$scope对象的方法
示例2-7 添加带参数的$scope方法
2.2.4 $scope对象属性和方法的继承
示例2-8 $scope对象中方法和属性的继承
2.3 Angular中的模板
2.3.1 构建模板内容
示例2-9 构建模板内容
2.3.2 使用指令复制元素
示例2-10 使用指令复制元素
2.3.3 添加元素样式
示例2-11 添加元素样式
2.3.4 控制元素的隐藏与显示状态
示例2-12 控制元素的隐藏与显示状态
2.4 模板中的表单控件
2.4.1 表单基本验证功能
示例2-13 表单基本验证功能
2.4.2 表单中的checkbox和radio控件
示例2-14 表单中的checkbox和radio控件
2.4.3 表单中的select控件
示例2-15 表单中的select控件
2.5 本章小结
第3章 Angular的过滤器和作用域
3.1 模板中的过滤器
3.1.1 排序方式过滤
示例3-1 排序方式过滤
3.1.2 匹配方式过滤
示例3-2 匹配方式过滤
3.1.3 自定义过滤器
示例3-3 自定义过滤器
3.2 过滤器的应用
3.2.1 表头排序
示例3-4 表头排序
3.2.2 字符查找
示例3-5 字符查找
3.3 作用域概述
3.3.1 作用域特点
示例3-6 $watch方法的使用
3.3.2 作为数据模型的作用域
示例3-7 作为数据模型的作用域
3.4 作用域的层级和事件
3.4.1 作用域的层级
示例3-8 作用域的层级
3.4.2 作用域事件的传播
示例3-9 作用域事件的传播
3.5 本章小结
第4章 Angular的依赖注入
4.1 依赖注入介绍
4.1.1 依赖注入的原理
示例4-1 依赖注入的原理
4.1.2 简单依赖注入的示例
示例4-2 简单依赖注入的示例
4.2 依赖注入标记
4.2.1 推断式注入
示例4-3 推断式注入的示例
4.2.2 标记式注入
示例4-4 标记式注入的示例
4.2.3 行内式注入
示例4-5 行内式注入的示例
4.3 $injector常用API
4.3.1 has和get方法
示例4-6 has和get方法的示例
4.3.2 invoke方法
示例4-7 invoke方法的示例
4.3.3 依赖注入应用的场景
4.4 本章小结
第5章 Angular中MVC模式
5.1 MVC模式概述
5.1.1 MVC简介
5.1.2 使用Angular中MVC的优势和缺点
5.2 Model组件
5.2.1 Model组件的基础概念
示例5-1 Model组件的基础概念
5.2.2 使用ngRepeater方式遍历Model对象
示例5-2 使用ngRepeater方式遍历Model对象
5.3 Controller组件
5.3.1 控制器的属性和方法
示例5-3 控制器的属性和方法
5.3.2 控制器方法中的参数
示例5-4 控制器方法中的参数
5.3.3 控制器中属性和方法的继承
示例5-5 控制器中属性和方法的继承
5.4 View组件
5.4.1 View组件中的模板切换
示例5-6 View组件中的模板切换
5.4.2 在切换视图模板时传参数
示例5-7 多页面切换并传递参数
5.5 本章小结
第6章 Angular的服务
6.1 Angular服务介绍
6.1.1 内置服务
示例6-1 内置服务调用
6.1.2 自定义服务
示例6-2 使用$provide自定义服务
6.2 创建Angular服务
6.2.1 使用factory方法自定义服务
示例6-3 使用factory方法自定义服务
6.2.2 使用service方法自定义服务
示例6-4 使用service方法自定义服务
6.2.3 使用constant和value方法自定义服务
示例6-5 使用constant和value方法自定义服务
6.3 管理服务的依赖
6.3.1 添加自定义服务依赖项方法
示例6-6 添加自定义服务依赖项方法
6.3.2 嵌套注入服务
示例6-7 嵌套注入服务
6.4 添加服务的其他设置
6.4.1 服务的装饰器
示例6-8 服务的装饰器
6.4.2 服务的多例性
示例6-9 服务的多例性
6.5 本章小结
第7章 Angular与服务端交互
7.1 与服务端交互介绍
7.1.1 传统的AJAX方式与服务端交互
示例7-1 传统的AJAX方式与服务端交互
7.1.2 使用$http快捷方法与服务端交互
示例7-2 使用$http快捷方法与服务端交互
7.1.3 使用$http配置对象方式与服务端交互
示例7-3 使用$http配置对象方式与服务端交互
7.2 Angular中的缓存
7.2.1 $cacheFactory服务创建缓存对象
示例7-4 $cacheFactory服务创建缓存对象
7.2.2 $http服务中的缓存
示例7-5 $http服务中的缓存
7.2.3 自定义$http服务中的缓存
示例7-6 自定义$http服务中的缓存
7.3 $resource服务
7.3.1 $resource服务的使用和对象中的方法
示例7-7 $resource对象中方法的使用
7.3.2 在$resource服务中自定义请求方法
示例7-8 $resource服务中自定义方法
7.4 promise对象
7.4.1 promise的基本概念和使用方法
示例7-9 promise对象的创建和使用
7.4.2 promise对象在$http中的应用
示例7-10 promise对象在$http中的应用
7.5 本章小结
第8章 Angular的指令
8.1 Angular指令概述
8.1.1 指令定义的基础
示例8-1 创建一个新的指令
8.1.2 设置指令对象的基础属性
示例8-2 设置指令对象的基础属性
8.2 Angular指令对象的重要属性
8.2.1 指令对象中的transclude属性
示例8-3 设置指令对象中的transclude属性
8.2.2 指令对象中的link属性
示例8-4 设置指令对象中的link属性
8.2.3 指令对象中的compile属性
示例8-5 设置指令对象中的compile属性
8.3 Angular指令对象的scope属性
8.3.1 scope属性是布尔值
示例8-6 scope属性是布尔值
8.3.2 scope属性是对象
示例8-7 scope属性是JSON对象
8.4 Angular指令对象的require和controller属性
8.4.1 require和controller属性的概念
8.4.2 一个使用require和controller属性的示例
示例8-8 一个使用require和controller属性的示例
8.5 本章小结
第9章 使用$location
9.1 初识$location
9.1.1 调用$location对象的只读方法
示例9-1 调用$location对象的只读方法
9.1.2 调用$location对象的读写类方法
示例9-2 调用$location对象的读写方法
9.2 $location对象的事件
9.2.1 $locationChangeStart事件
示例9-3 捕捉$locationChangeStart事件
9.2.2 $locationChangeSuccess事件
示例9-4 捕捉$locationChangeSuccess事件
9.3 路由模式和地址变更
9.3.1 标签(hashbang)模式
示例9-5 标签模式下获取页面URL中的内容
9.3.2 HTML 5模式
示例9-6 HTML 5模式下获取页面URL中的内容
9.3.3 模式间的区别与关联
示例9-7 两种模式下分别获取页面URL中的内容
9.3.4 路由对象方法的双向绑定
示例9-8 路由对象方法的双向绑定
9.4 本章小结
第10章 使用Angular开发的注意事项和最佳实践
10.1 页面元素的控制
10.1.1 调用element方法控制DOM元素
示例10-1 调用element方法控制DOM元素
10.1.2 解决setTimeout改变属性的无效
示例10-2 解决setTimeout改变属性的无效
10.1.3 解决双大括号绑定元素时的闪烁问题
示例10-3 解决双大括号绑定元素时的闪烁问题
10.2 使用ng-repeat时的注意事项
10.2.1 注意ng-repeat中的索引号
示例10-4 注意ng-repeat中的索引号
10.2.2 使用track by排序ng-repeat中的数据
示例10-5 使用track by排序ng-repeat中的数据
10.2.3 正确理解ng-repeat指令中scope的继承关系
示例10-6 正确理解ng-repeat指令中scope的继承关系
10.3 解决单击按钮事件中的冒泡现象
示例10-7 解决单击按钮事件中的冒泡现象
10.4 释放多余的$watch监测函数
示例10-8 释放多余的$watch监测函数
10.5 解决ng-if中ng-model值无效的问题
示例10-9 解决ng-if中ng-model值无效的问题
10.6 本章小结
第11章 综合案例开发
11.1 基于AngularJS使用canvas绘制圆形进度条
11.1.1 需求分析
11.1.2 界面效果
11.1.3 功能开发
11.1.4 源码解析
11.2 使用AngularJS开发一个抽奖应用
11.2.1 需求分析
11.2.2 界面效果
11.2.3 功能开发
11.2.4 源码解析
11.3 本章小结
文件大小:110MB
内附PC端和移动端阅读器