快速掌握AngularJS Web开发技术
AngularJS是Web开发领域最激动人心的创新技术之一,它为整个开发过程提供结构,旨在简化Web应用的开发和测试。
网站已不再是简单的静态内容——相反,网站更趋动态化,通常单个页面即可用作整个站点或应用。AngularJS允许Web开发者直接在网页中构建此类应用需要的程序逻辑,将客户端Web应用的数据模型绑定到后端服务和数据库。AngularJS还允许扩展HTML,从而可以方便地在HTML模板文件中表示UI设计逻辑。
《AngularJS开发秘籍》展示如何创建功能强大的交互性Web应用,这些应用具有结构良好、便于维护、可重用的代码库。你还将学习如何使用AngularJS的创新MVC模式来开发结构和设计俱佳的网页和Web应用。
AngularJS强制Web开发者坚守底层结构和设计规则,从而更加优秀。
了解AngularJS的组织方式,学习设计AngularJS
应用的最佳实践
学习如何定义模块和使用依赖注入
使用内置指令快速构建AngularJS模板,以增强用户体验
将UI元素绑定到数据模型,使模型和UI的改变自动关联
自定义扩展HTML的AngularJS指令
实现可缩放图片、可展开列表和其他富UI组件
实现与Web服务器交互的客户端服务
构建动态浏览器视图,以提供更丰富的用户交互
创建便于重用的自定义服务
为AngularJS应用设计单元和端到端测试
第1章 学习JavaScript
1.1 使用Node.js创建JavaScript开发环境
1.1.1 创建Node.js
1.1.2 使用Node.js运行JavaScript
1.1.3 使用Node.js创建Express Web服务器
1.2 定义变量
1.3 了解JavaScript数据类型
1.4 使用运算符
1.4.1 算术运算符
1.4.2 赋值运算符
1.4.3 应用比较和条件运算符
1.5 实现循环
1.5.1 while循环
1.5.2 do/while循环
1.5.3 for循环
1.5.4 for/in循环
1.5.5 中断循环
1.6 创建函数
1.6.1 定义函数
1.6.2 向函数传递变量
1.6.3 从函数返回值
1.6.4 使用匿名函数
1.7 理解变量作用域
1.8 使用JavaScript对象
1.8.1 使用对象语法
1.8.2 创建自定义对象
1.8.3 使用原型对象模式
1.9 操作字符串
1.9.1 合并字符串
1.9.2 在字符串中搜索子字符串
1.9.3 替换字符串中的单词
1.9.4 将字符串拆分为数组
1.10 使用数组
1.10.1 合并数组
1.10.2 迭代数组
1.10.3 将数组转换为字符串
1.10.4 检查数组中是否包含特定的数据项
1.10.5 向数组中添加和从数组中移除数据项
1.11 添加错误处理
1.11.1 try/catch块
1.11.2 抛出自定义错误
1.11.3 使用Finally
1.12 小结
第2章 开始使用AngularJS
2.1 选择AngularJS的原因
2.2 了解AngularJS
2.2.1 模块
2.2.2 作用域和数据模型
2.2.3 模板视图和指令
2.2.4 表达式
2.2.5 控制器
2.2.6 数据绑定
2.2.7 服务
2.2.8 依赖注入
2.2.9 编译器
2.3 AngularJS生命周期概览
2.3.1 启动阶段
2.3.2 编译阶段
2.3.3 运行时数据绑定阶段
2.4 责任分离
2.5 在现有JavaScript和jQuery 代码中集成AngularJS
2.6 在环境中添加AngularJS
2.7 在HTML文档中启动AngularJS
2.8 使用全局API
2.9 创建基本的AngularJS应用
2.9.1 加载AngularJS库和主模块
2.9.2 定义AngularJS应用根元素
2.9.3 在模板中添加控制器
2.9.4 实现作用域模型
2.10 在AngularJS应用中使用jQuery或者jQuery Lite
2.10.1 jQuery Lite
2.10.2 访问jQuery或者jQuery Lite库
2.10.3 直接访问jQuery或者jQuery Lite
2.11 小结
第3章 了解AngularJS应用动态
3.1 了解模块和依赖注入
3.1.1 了解模块
3.1.2 依赖注入
3.2 定义AngularJS Module对象
3.3 在AngularJS模块中创建提供者
3.3.1 专用的AngularJS对象提供者
3.3.2 服务提供者
3.4 实现提供者和依赖注入
3.4.1 在控制器中注入内置提供者
3.4.2 实现自定义提供者并将它注入控制器中
3.5 为模块应用配置块和运行块
3.5.1 添加配置块
3.5.2 添加运行块
3.5.3 实现配置块和运行块
3.6 小结
第4章 实现作用域作为数据模型
4.1 了解作用域
4.1.1 根作用域和应用之间的关系
4.1.2 作用域和控制器之间的关系
4.1.3 作用域和模板之间的关系
4.1.4 作用域和后端服务器数据之间的关系
4.1.5 作用域生命周期
4.2 实现作用域层次结构
4.3 小结
第5章 使用AngularJS模板创建视图
5.1 了解模板
5.2 使用表达式
5.2.1 使用基本表达式
5.2.2 在表达式中与作用域交互
5.2.3 在AngularJS表达式中使用JavaScript
5.3 使用筛选器
5.3.1 使用内置筛选器
5.3.2 使用筛选器实现排序和筛选
5.4 创建自定义筛选器
5.5 小结
第6章 在AngularJS视图中实现指令
6.1 了解指令
6.2 使用内置指令
6.2.1 支持AngularJS功能的指令
6.2.2 扩展表单元素的指令
6.2.3 绑定模型到页面元素的指令
6.2.4 绑定页面事件到控制器的指令
6.3 小结
第7章 创建自定义指令用于扩展HTML
7.1 了解自定义指令定义
7.1.1 定义指令视图模板
7.1.2 限制指令行为
7.1.3 在指令中添加控制器
7.1.4 配置指令作用域
7.1.5 嵌入元素
7.1.6 使用链接函数操作DOM
7.1.7 使用编译函数操作DOM
7.2 实现自定义指令
7.2.1 在自定义指令中操作DOM
7.2.2 在自定义视图中实现事件处理程序
7.2.3 实现嵌套指令
7.3 小结
第8章 使用事件与模型中的数据进行交互
8.1 浏览器事件
8.2 用户交互事件
8.3 添加$watches追踪作用域变化事件
8.3.1 使用$watch追踪作用域变量
8.3.2 使用$watchGroup追踪多个作用域变量
8.3.3 使用$watchCollection追踪作用域中对象的属性变化
8.3.4 在控制器中实现监视
8.4 发出和广播自定义事件
8.4.1 向父作用域层次结构发出自定义事件
8.4.2 向子作用域层次结构广播自定义事件
8.4.3 使用侦听器处理自定义事件
8.4.4 在嵌套控制器中实现自定义事件
8.5 小结
第9章 在Web应用中实现AngularJS服务
9.1 了解AngularJS服务
9.2 使用内置服务
9.2.1 使用$http服务发送HTTP GET和PUT请求
9.2.2 使用$cacheFactory服务
9.2.3 使用$window服务实现浏览器警告
9.2.4 使用$cookieStore服务与浏览器cookie交互
9.2.5 使用$interval和$timeout 服务实现定时器
9.2.6 使用$animate服务
9.2.7 使用$location服务
9.3 使用$q服务提供延迟响应
9.4 小结
第10章 创建自定义AngularJS服务
10.1 了解自定义AngularJS服务
10.1.1 定义value服务
10.1.2 定义constant服务
10.1.3 使用工厂提供者构建factory服务
10.1.4 使用对象定义service服务
10.2 在AngularJS应用中集成自定义服务
10.2.1 实现使用所有4种类型服务的简单应用
10.2.2 实现简单的时间服务
10.2.3 实现数据库访问服务
10.3 小结
第11章 以AngularJS方式创建富Web应用组件
11.1 构建标签视图
11.2 实现可拖放元素
11.3 为图片添加缩放视图区域
11.4 实现可展开和可折叠的元素
11.5 在元素中添加星级
11.6 小结
附录A 测试AngularJS应用