搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
精通AngularJS
0.00    
图书来源: 浙江图书馆(由图书馆配书)
  • 配送范围:
    全国(除港澳台地区)
  • ISBN:
    9787568003964
  • 作      者:
    (美)Pawel Kozlowski,(美)Peter Bacon Darwin著
  • 出 版 社 :
    华中科技大学出版社
  • 出版日期:
    2014
收藏
作者简介
  Pawel Kozlowski,有15年以上的Web开发经验,接触过多种Web技术、语言和平台。他精通客户端和服务器端编程,并始终在寻找能提高生产率的工具和流程。Pawel是自由和开源软件的坚定支持者,他在AngularJS 社区非常活跃,为AngularJS项目贡献了大量的代码。他也对Angular UI (AngularJS的配套框架)有所贡献,并为AngularJS 提供了Twitter Bootstrap 相关的指令(directives)。不写代码时,Pawel 常在会议与活动上为AngularJS布道。

  Peter Bacon Darwin,已经积累了20年以上的编程经验,他在.NET发布之前,就已经用它工作了。他还对IronRuby的开发有所贡献。他曾在Avanade和IMGROUP做IT顾问。退休后,自由开发和照顾孩子占用了他大部分的时光。Peter是AngularJS社区的名人。他最近加入了Google的AngularJS团队。他还是Angular UI项目的创始成员。他曾在Devoxx UK和其他活动中发表过有关AngularJS的演讲,并开办过AngularJS的培训课程。他希望帮助企业更好地利用AngularJS。
展开
内容介绍
  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
根据条件包含内容块 114
44  用 ngRepeat 指令渲染集合 114
熟悉ngRepeat 指令  115
特殊变量  115
迭代对象的属性 116
ngRepeat 模式  117
列表和细节  117
改动表格、行和类 119
45 DOM 事件处理器  120
46  基于DOM 的模板 121
习惯烦琐的语法 121
ngRepeat 和多个DOM 元素 122
不能在运行时修改的元素和属性 123
自定义HTML元素与 IE 的老版本  124
47  使用过滤器处理模型变换  124
内置过滤器 125
格式化过滤器 125
数组变换过滤器 125
编写自定义过滤器——分页示例  131
从JavaScript代码中访问过滤器 133
过滤器做什么与不做什么 134
过滤器与DOM操作 135
过滤器中代价高昂的数据变换 136
不稳定的过滤器 136
48  摘要  138
第5章  创建高级表单  139
51 AngularJS表单与传统表单的比较 139
介绍ngModel 指令 141
52  创建用户信息表单  142
53  理解输入指令 143
添加所需验证 143
使用基于文本的输入(text、textarea、e-mail、URL、number) 143
使用checkbox 输入  144
使用radio 输入 145
使用select 输入 145
提供简单的字符串options 145
利用ngOptions指令提供动态options  146
select指令与空的options  148
理解select和对象判等  149
选择多个options  150
运用传统的HTML hidden input 字段  150
嵌入来自服务器的值  150
提交传统的HTML表单  151
54  详解ngModel 数据绑定  151
理解ngModelController  151
在模型与视图之间转换值152
追踪值是否变化 152
跟踪input字段有效性153
55  校验AngularJS 表单 153
理解ngFormController 153
运用name属性将表单附加到作用域上 154
为用户信息表单增加动态行为 154
显示验证错误 155
让保存按钮无效 156
使原生浏览器校验无效 157
56  在其他表单中嵌套表单 157
将子表单作为可重用组件 157
57  重复子表单  158
验证重复输入 159
58  处理传统的HTML表单提交 161
直接向服务器提交表单 161
处理表单提交事件 161
使用ngSubmit处理表单提交  162
使用ngClick处理表单提交  162
59  重置用户信息表单  162
510  摘要  164
第 6 章  导航  165
61  单页Web应用的URL  166
HTML5之前的Hashbang URL  166
HTML5和history API 167
62  使用 $location服务  168
理解$location服务API与 URL的关系  169
哈希、页面内导航和 $anchorScroll 170
配置HTML5方式的URL  171
客户端  171
服务端  171
使用$location 导航 172
根据路由构建页面 173
路由映射URL 174
定义路由时指定控制器 174
导航的不足 175
63  使用AngularJS自带的路由服务 175
基础路由定义 175
显示匹配的路由内容 176
匹配灵活的路由 177
定义默认路由 178
访问路由参数 178
多个控制器重用局部模板 178
路由改变时避免UI 抖动 179
取消路由更新 181
64 $route 服务的局限  182
一个路由只对应页面中的一个区域  183
使用ng-include处理多个UI区域  183
不支持嵌套路由  184
65  路由相关的模式及技巧  185
处理链接  185
创建可点击的链接  186
兼容HTML5及hashbang模式  186
链接外部页面 187
组织路由定义 187
将路由定义分离到多个模块  188
减少路由定义的重复代码 188
66  总结  189
第7 章  安全  191
71  提供服务端认证和授权  192
处理未授权的访问  192
提供服务端验证API  192
72  保护局部模板 193
73  阻止恶意攻击  194
防止cookie 监听、中间人攻击  194
防止跨站脚本攻击 195
确保AngularJS 表达式内HTML 内容的安全性 195
允许不安全的HTML 绑定  196
净化HTML  196
防止JSON 注入攻击 197
防止跨站请求伪造  198
74  客户端安全  198
创建security 服务  199
显示登录表单 200
创建安全的菜单及工具栏  201
隐藏菜单项  201
创建登录工具栏 202
75  支持客户端认证 203
处理认证失败 203
拦截响应 204
HTTP响应拦截器 204
创建 securityInterceptor 服务 205
创建securityRetryQueue 服务 207
通知安全服务 208
76  防止导航到安全受限路由 208
使用路由resolve函数 209
创建授权服务  210
77  总结 212
第 8 章  创建自定义指令 213
81  什么是 AngularJS 指令  214
理解内置指令  214
在HTML标签中使用指令 215
82  指令的编译生命周期 215
83  为指令编写单元测试 217
84  定义指令  218
85  使用指令修改按钮样式  219
编写一个按钮指令 220
86  理解 AngularJS的组件指令 222
编写一个分页指令 222
为分页指令编写单元测试代码 223
在指令中使用HTML模板 224
从父作用域中隔离指令 225
使用@插入属性 226
使用=绑定数据  227
使用&提供一个回调表达式  227
实现分页组件 228
为指令添加分页跳转回调 229
87  创建一个自定义验证指令 230
需要其他指令的控制器 231
可选的依赖控制器 231
查找祖先元素的控制器 232
使用ngModelController 232
编写自定义验证指令的单元测试 233
实现自定义验证指令  235
88  创建一个异步模型验证器  235
模拟用户服务 236
为异步验证编写测试代码  237
实现异步验证指令 238
89  包装 jQueryUIdatepicker 指令 239
为包装组件指令编写测试代码 240
实现jQuery datepicker 指令 242
810  小结243
第9章  创建自定义指令 245
91  使用嵌入 245
在指令中使用嵌入 245
在独立作用域指令中使用嵌入 246
创建一个使用嵌入的提示指令 246
理解指令定义中的replace属性  247
理解指令定义中的transclude属性 248
使用ng-transclude插入嵌入元素 248
理解嵌入作用域 248
92  创建和使用嵌入函数 250
使用$compile 服务创建一个嵌入函数 251
在嵌入时克隆原始元素 251
在指令中访问嵌入函数 252
通过编译函数中的transcludeFn来获取嵌入函数  252
通过$transclude在指令控制器中获取嵌入函数  253
使用嵌入创建一个if 指令  253
在指令中使用priority属性  255
93  理解指令控制器 256
为指令控制器注入特殊依赖  257
创建一个基于控制器的分页指令 258
理解指令控制器和链接函数的区别 258
注入依赖 259
编译过程 259
获取其他控制器 260
获取嵌入函数  261
创建一个手风琴指令套件  261
在手风琴组件中使用指令控制器 262
实现accordion指令 263
实现accordion-group指令 263
94  控制编译过程 265
创建一个?eld指令 265
在指令中使用terminal属性  267
使用$interpolate 服务 268
绑定验证信息 269
动态加载模板 269
设置?eld指令的模板 270
95  小结271
第 10章  创建为全球用户服务的AngularJS应用 273
101  使用本地化的符号和设置  274
配置本地化设置模块  274
使用已有的本地化设置  275
本地化设置和AngularJS过滤器  275
102  处理翻译  277
翻译AngularJS模板中的字符串  277
使用过滤器 278
使用指令  279
翻译JavaScript代码中的字符串 280
103  范式、秘诀和技巧 282
按照设定的地区初始化应用 282
将地区标识作为URL一部分带来的问题 283
切换地区 284
针对日期、数字和货币的自定义过滤器 285
104  小结 287
第 11章  开发健壮的 AngularJS应用  289
111  理解AngularJS的内部运作机制 290
AngularJS不是基于字符串的模板引擎 290
响应DOM事件更新模型  291
将模型变化传播给DOM  291
同步DOM和模型变化 292
Scope$apply——打开AngularJS世界的钥匙 293
深入$digest循环  295
整合 300
112  性能优化——设置期望值、测量、调节、并重复  301
113 AngularJS应用的性能优化 303
优化CPU使用率 303
加速$digest循环 303
尽可能少进入$digest循环  310
限制每个$digest循环的执行轮数 312
优化内存占用 312
尽可能避免深度监视 312
注意监视表达式的大小 314
ng-repeat 指令 314
ng-repeat指令中对集合的监视 314
瞬间绑定大量监视 315
114  小结 315
第12章  打包和部署 AngularJS Web 应用  317
121  提升网络相关的性能  318
压缩静态资源  318
AngularJS如何判断依赖关系  318
编写会被安全压缩的JavaScript代码 319
数组风格依赖注入的缺陷322
模板预加载 323
使用
展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证