内容简介
第1章 构建简单的AngularJS应用
1.1 构建目标
1.2 学习内容
1.3 步骤1:使用Yeoman搭建项目
1.3.1 安装Yeoman
1.3.2 搭建项目
1.3.3 浏览应用
1.3.4 清理
1.4 步骤2:创建监视列表
1.4.1 应用模块
1.4.2 Watchlist服务
1.4.3 监视列表面板指令
1.5 步骤3:配置客户端路由
1.5.1 Angular ngRoute模块
1.5.2 添加新的路由
1.5.3 使用路由
1.5.4 模板视图
1.6 步骤4:创建导航栏
1.6.1 更新 HTML
1.6.2 创建MainCtrl
1.7 步骤5:添加股票
1.7.1 创建CompanyService
1.7.2 创建AddStock模态框
1.7.3 更新WatchlistService
1.7.4 实现WatchlistCtrl
1.7.5 修改监视列表视图
1.8 步骤6:集成Yahoo Finance
1.8.1 创建QuoteService
1.8.2 从控制台调用服务
1.9 步骤7:创建股票表格
1.9.1 创建StkStockTable指令
1.9.2 创建StkStockRow指令
1.9.3 创建股票表格模板
1.9.4 更新监视列表视图
1.10 步骤8:内联表单编辑
1.10.1 创建contenteditable指令
1.10.2 更新StkStockTable模板
1.11 步骤9:格式化货币
1.11.1 创建StkSignColor指令
1.11.2 更新StockTable模板
1.12 步骤10:为价格变动添加动画
1.12.1 创建StkSignFade指令
1.12.2 更新StockTable模板
1.13 步骤11:创建仪表盘
1.13.1 更新仪表盘控制器
1.13.2 更新仪表盘视图
1.14 生产环境部署
1.15 小结
第2章 智能工作流和构建工具
2.1 工具的作用
2.2 Bower
2.2.1 开始使用Bower
2.2.2 搜索包
2.2.3 安装包
2.2.4 版本化依赖
2.3 Grunt
2.3.1 开始使用Grunt
2.3.2 安装插件
2.3.3 目录结构
2.3.4 Gruntfile
2.3.5 配置任务和目标
2.3.6 创建自定义任务
2.4 Gulp
2.4.1 开始使用Gulp
2.4.2 安装插件
2.4.3 Gulpfile
2.4.4 创建任务
2.4.5 参数和异步行为
2.4.6 Gulp、 Grunt和Make
2.5 Yeoman
2.5.1 开始使用Yeoman
2.5.2 搭建新的项目
2.5.3 浏览插件和任务
2.5.4 别名任务和工作流
2.5.5 修改
2.5.6 子生成器
2.5.7 流行的生成器
2.6 小结
第3章 架构
3.1 架构如此重要的原因
3.2 控制器、服务和指令
3.2.1 控制器
3.2.2 服务
3.2.3 指令
3.2.4 小结
3.3 使用模块组织代码
3.4 目录结构
3.4.1 小型项目
3.4.2 中型项目
3.4.3 大型项目
3.5 模块加载器
3.5.1 RequireJS
3.5.2 Browserify
3.6 构造用户身份验证的最佳实践
3.6.1 服务:从服务器加载数据和保存数据
3.6.2 控制器:向HTML公开API
3.6.3 指令:与DOM进行交互
3.7 小结
第4章 数据绑定
4.1 数据绑定
4.2 数据绑定的作用
4.3 AngularJS作用域
4.3.1 作用域继承
4.3.2 性能考虑
4.3.3 过滤器和数据绑定
4.4 小结
第5章 指令
5.1 指令
5.1.1 了解指令
5.1.2 指令的帕累托分布
5.2 深入理解指令
5.2.1 使用模板的指令组合
5.2.2 为指令创建不同的作用域
5.2.3 限制和替换设置
5.2.4 继续前行
5.3 在运行时改变指令模板
5.3.1 内嵌
5.3.2 编译设置或者编译与链接
5.4 小结
第6章 模板、位置和路由
6.1 第1部分:模板
6.1.1 在模板中使用ngInclude指令
6.1.2 ngInclude和性能
6.1.3 使用脚本标记包含模板
6.1.4 $templateCache服务
6.1.5 下一步:模板和数据绑定
6.2 第2部分:$location服务
6.2.1 URL中包含的信息
6.2.2 介绍Slocation
6.2.3 使用$location追踪页面状态
6.2.4 下一步:路由和SPA
6.3 第3部分:路由
6.3.1 使用ngRoute模块
6.3.2 $routeProvider提供者
6.3.3 $routeParams服务
6.3.4 SPA中的导航
6.3.5 搜索引擎和SPA
6.3.6 在服务器上设置Prerender
6.3.7 Google AJAX Crawling规范
6.3.8 为搜索引擎配置AngularJS
6.3.9 真正的搜索引擎集成
6.3.10 介绍动画
6.3.11 实际的ngAnimate模块
6.4 小结
第7章 服务、工厂和提供者
7.1 依赖注入概述
7.1.1 $injector服务
7.1.2 函数注解
7.2 构建自己的服务
7.2.1 factory()函数
7.2.2 service()函数
7.2.3 provider()函数
7.3 服务的常见用例
7.3.1 构建$user服务
7.3.2 构建$stockPrice服务
7.4 使用内置提供者
7.4.1 自定义插值分隔符
7.4.2 使用$compileProvider的白名单链接
7.4.3 使用$rootScopeProvider的全局表达式属性
7.5 小结
第8章 服务器通信
8.1 将要学习的内容
8.2 约定简介
8.3 发起HTTP请求的服务
8.3.1 $http
8.3.2 $resource服务
8.4 使用Twitter的REST API
8.5 使用StrongLoop LoopBack搭建REST API
8.6 在AngularJS中使用Web套接字
8.7 在AngularJS中使用Firebase
8.8 小结
第9章 测试和调试AngularJS应用
9.1 AngularJS测试哲学
9.2 AngualrJS中的单元测试
9.2.1 Mocha测试框架
9.2.2 使用Karma在浏览器中执行单元测试
9.2.3 使用Sauce在云中执行浏览器测试
9.2.4 评估单元测试选项
9.3 DOM集成测试
9.3.1 $httpBackend指南
9.3.2 将要测试的页面
9.3.3 使用ng-scenario执行DOM集成测试
9.3.4 使用protractor执行DOM集成测试
9.3.5 评估ng-scenario和protractor
9.4 调试AngularJS应用
9.4.1 debug模块
9.4.2 使用Chrome DevTools进行调试
9.5 小结
第10章 继续前行
10.1 使用Angular-UI Bootstrap
10.1.1 模态框
10.1.2 日期选择器
10.1.3 时间选择器
10.1.4 自定义模板
10.2 使用Ionic框架开发的混合移动应用
10.2.1 设置Ionic、Cordova和Android SDK
10.2.2 在Ionic应用中使用AngularJS
10.2.3 为生产使用Yeoman工作流和构建
10.3 集成开源JavaScript和AngularJS
10.3.1 使用Moment操作日期和时区
10.3.2 使用Mongoose实现模式验证和深度对象
10.4 AngularJS和ECMAScript 6.
10.5 小结
附录 资源