内容简介
AngularJS诞生于Google,已用于开发多款Google产品。它是一套Javascript前端框架,用于开发当下流行的数据驱动的单页面Web应用。其核心特性是:MVC、模块化、自动双向数据绑定、语义化标签、依赖注入等。《精通AngularJS》深入浅出地讲解了AngularJS的开发概念和原理,并通过丰富的开发实例向读者展示了构建复杂应用的完整过程,包括学习使用AngularJS特有的基于DOM的模板系统,实现复杂的后端通信,创建漂亮的表单,制作导航,使用依赖注入系统,提高Web应用的安全性,使用Jasmine开展单元测试,等等。
目录
序 1
第 1 章 Angular之禅 7
11 邂逅AngularJS 7
熟悉框架 8
参与AngularJS项目 8
社区 8
在线学习资源 9
库和扩展 9
工具 9
Batarang 10
Plunker与jsFiddle 10
IDE扩展和插件 10
12 AngularJS速成 10
Hello World——AngularJS 示例 10
双向数据绑定 12
AngularJS中的MVC 模式 12
鸟瞰 13
深入作用域 15
视图 21
模块与依赖注入 26
模块 26
协作对象 27
注册服务 29
模块的生命周期 33
模块依赖 35
13 AngularJS和其他框架 38
jQuery 与 AngularJS 39
苹果与橙子 40
窥视未来 41
14 总结 41
第 2 章 构建与测试 43
21 介绍示例应用 44
熟悉问题领域 44
技术栈 45
持久化存储 46
MongoLab 46
服务器端环境 47
第三方Javascript库 48
Bootstrap CSS 48
22 构建系统 48
构建系统准则 49
自动化所有事情 49
尽早报错,清晰报错 49
不同的工作流,不同的命令 50
构建脚本同样是代码 50
工具 50
Gruntjs 51
测试库与工具 51
Jasmine 51
Karma runner 52
23 组织文件和目录 52
根目录 52
进入源代码目录 54
AngularJS的特定文件 54
轻装上路 56
深入测试目录 57
文件命名约定 57
24 AngularJS模块和文件 57
一个文件,一个模块 58
模块内部 59
注册provider的不同语法 59
声明配置和运行块的语法61
25 自动化测试 62
单元测试 63
剖析Jasmine测试 64
测试AngularJS对象 65
测试服务 65
测试控制器 67
Mock对象和异步代码测试 68
端对端测试 70
日常工作流 71
Karma runner的提示与技巧 72
执行测试子集 73
调试 73
26 小结 74
第 3章 与后端服务器通信 75
31 使用 $http 进行 XHR和JSONP 请求 75
熟悉数据模型和MongoLab URLs 76
$http API快速导览 76
配置对象说明 77
转换请求数据 78
处理HTTP响应 79
转换响应数据 79
处理同源政策约束 79
利用JSONP克服同源政策约束 80
JSONP的限制 81
利用CORS克服同源政策约束 81
服务器端代理 83
32 promise API 与$q84
工作中的promise 和$q服务 85
学习$q服务的基础知识 85
promise是第一类Javascript对象 87
聚合回调 88
注册回调和承诺的生命周期 88
异步动作的链式调用 89
关于$q的其他 91
AngularJS中的$q集成 93
33 promise API与 $http 94
34 与 RESTful 端点通信 95
$resource服务 95
构造级与实例级方法 97
$resource 创建异步方法 100
$resource服务的限制 101
使用$http 自定义 REST 适配器 101
35 使用$http 的特性 104
截取响应 104
36 测试与 $http 交互的代码 106
37 小结 108
第 4 章 显示与格式化数据 109
41 引用指令 109
42 显示表达式的求值结果 110
插值指令 110
利用ngBind渲染模型值 111
AngularJS表达式中的 HTML内容 111
43 条件化显示 112
根据