×
超值优惠券
¥50
100可用 有效期2天

全场图书通用(淘书团除外)

关闭
Angular JS权威教程-涵盖最新版本1.2.x

Angular JS权威教程-涵盖最新版本1.2.x

1星价 ¥54.5 (5.5折)
2星价¥54.5 定价¥99.0
图文详情
  • ISBN:9787115366474
  • 装帧:一般胶版纸
  • 册数:暂无
  • 重量:暂无
  • 开本:16开
  • 页数:456
  • 出版时间:2014-08-01
  • 条形码:9787115366474 ; 978-7-115-36647-4

本书特色

《angularjs权威教程》是学习angularjs的公认经典,内容全面,讲解通俗,适合各层次的学习者。作者拥有丰富的angularjs开发和教学经验,也是一位全栈工程师。全书35章,由浅入深地讲解了angularjs的基本概念和基本功能,包括模块、作用域、控制器、表达式、指令、路由、依赖注入等,重要的是书中对每一个概念的讲解都配合了恰如其分的示例和代码,让读者通过动手实践,切身体会到这些概念的含义和价值。《angularjs权威教程》后半部分深入到angularjs应用开发,系统地讨论了服务器通信、事件、架构、动画、本地化、安全、缓存、移动应用等主题。   《angularjs权威教程》适合各个层次的angularjs开发人员学习,无论是出于工作需要,还是好奇心的驱使,只要你想彻底理解angularjs,《angularjs权威教程》都会让你满载而归。

内容简介

angularjs是google开发的下一代产业级web应用框架,*早发布于2009年。随着全球众多web项目(包括spa,即单页应用)的竞相采用,angularjs进入了成熟稳定期,是学习和研究下一代web开发的首选框架。

说到学习angularjs,相信你早已厌倦了上网搜索、断续阅读的低效方式。本书堪称angularjs领域的里程碑式著作,它以相当的篇幅涵盖了关于angularjs的几乎所有内容,既是一部权威教程,又是一部参考指南。对于没有经验的人,本书平实、通俗的讲解,递进、严密的组织,可以让人毫无压力地登堂入室,迅速领悟新一代web应用开发的精髓。如果你有相关经验,那本书对angularjs概念和技术细节的全面剖析,以及引人入胜、切中肯綮的讲解,将帮助你彻底掌握这个框架,在自己职业技术修炼之路上更进一步。

本书是资深全栈工程师的代表性著作,由拥有丰富经验的国内angularjs技术专家执笔翻译,通俗易懂、全面深入,是学习angularjs不可错过的经典之作。无论是出于工作需要,还是好奇心的驱使,只要你想彻底理解angularjs,本书都会让你感到满意。

本书将涵盖angularjs的如下概念。

双向数据绑定
依赖注入
作用域
控制器
路由
客户端模板
服务
通过xhr实现动态内容
测试
过滤器
定制表单验证
深度测试
定制指令
专业工具
对ie的支持

目录

目 录



第1章 初识angularjs 1

1.1 浏览器如何获取网页 1

1.2 浏览器是什么 2

1.3 angularjs是什么 2

1.3.1 angularjs有什么不同 3

1.3.2 许可 3



第2章 数据绑定和**个angularjs web应用 4

2.1 angularjs中的数据绑定 5

2.2 简单的数据绑定 6

2.3 数据绑定的*佳实践 8



第3章 模块 10

3.1 参数 11

3.1.1 name(字符串) 11

3.1.2 requires(字符串数组) 11



第4章 作用域 12

4.1 视图和$scope的世界 12

4.2 就是html而已 13

4.3 作用域能做什么 14

4.4 $scope的生命周期 14

4.4.1 创建 15

4.4.2 链接 15

4.4.3 更新 15

4.4.4 销毁 15

4.5 指令和作用域 15



第5章 控制器 16

5.1 控制器嵌套(作用域包含作用域) 18



第6章 表达式 20

6.1 解析angularjs表达式 20

6.2 插值字符串 21



第7章 过滤器 24

7.1 自定义过滤器 29

7.2 表单验证 29



第8章 指令简介 43

8.1 指令:自定义html元素和属性 44

8.2 向指令中传递数据 50



第9章 内置指令 56

9.1 基础ng属性指令 56

9.1.1 布尔属性 56

9.1.2 类布尔属性 58

9.2 在指令中使用子作用域 59



第10章 指令详解 72

10.1 指令定义 72

10.1.1 restrict(字符串) 74

10.1.2 优先级(数值型) 75

10.1.3 terminal(布尔型) 75

10.1.4 template(字符串或函数) 76

10.1.5 templateurl(字符串或函数) 76

10.1.6 replace(布尔型) 77

10.2 指令作用域 77

10.2.1 scope参数(布尔型或对象) 78

10.2.2 隔离作用域 80

10.3 绑定策略 81

10.3.1 transclude 82

10.3.2 controller(字符串或函数) 84

10.3.3 controlleras(字符串) 86

10.3.4 require(字符串或数组) 86

10.4 angularjs的生命周期 87

10.4.1 编译阶段 87

10.4.2 compile(对象或函数) 88

10.4.3 链接 89

10.5 ngmodel 90

10.5.1 自定义渲染 92

10.5.2 属性 92

10.6 自定义验证 93



第11章 angularjs模块加载 95

11.1 配置 95

11.2 运行块 96



第12章 多重视图和路由 98

12.1 安装 98

12.2 布局模板 99

12.3 路由 99

12.4 $location服务 103

12.5 路由模式 105

12.5.1 html5模式 105

12.5.2 路由事件 106

12.5.3 关于搜索引擎索引 107

12.6 更多关于路由的内容 107

12.6.1 页面重新加载 107

12.6.2 异步的地址变化 107



第13章 依赖注入 108

13.1 推断式注入声明 109

13.2 显式注入声明 110

13.3 行内注入声明 110

13.4 $injector api 111

13.4.1 annotate() 111

13.4.2 get() 111

13.4.3 has() 111

13.4.4 instantiate() 112

13.4.5 invoke() 112

13.5 ngmin 112

13.5.1 安装 113

13.5.2 使用ngmin 113

13.5.3 工作原理 113



第14章 服务 114

14.1 注册一个服务 114

14.2 使用服务 116

14.3 创建服务时的设置项 118

14.3.1 factory() 119

14.3.2 service() 119

14.3.3 provider() 120

14.3.4 constant() 122

14.3.5 value() 122

14.3.6 何时使用value()和constant() 123

14.3.7 decorator() 123



第15章 同外界通信:xhr和服务器通信 125

15.1 使用$http 125

15.2 设置对象 128

15.3 响应对象 130

15.4 缓存http请求 131

15.5 拦截器 132

15.6 设置$httpprovider 133

15.7 使用$resource 134

15.8 安装 134

15.9 应用$resource 135

15.9.1 基于http get方法 135

15.9.2 基于非http get类型的方法 136

15.9.3 $resource实例 137

15.9.4 $resource实例是异步的 138

15.9.5 附加属性 138

15.10 自定义$resource方法 138

15.11 $resource设置对象 139

15.12 $resource服务 141

15.13 使用restangular 142

15.14 restangular简介 142

15.15 安装restangular 143

15.16 restangular对象简介 144

15.17 使用restangular 145

15.17.1 我的http方法们怎么办 146

15.17.2 自定义查询参数和头 147

15.18 设置restangular 147



第16章 xhr实践 153

16.1 跨域和同源策略 153

16.2 jsonp 153

16.3 使用cors 154

16.3.1 设置 154

16.3.2 服务器端cors支持 155

16.3.3 简单请求 155

16.3.4 非简单请求 156

16.4 服务器端代理 157

16.5 使用json 157

16.6 使用xml 158

16.7 使用angularjs进行身份验证 159

16.7.1 服务器端需求 159

16.7.2 客户端身份验证 160

16.8 和mongodb通信 165



第17章 promise 168

17.1 什么是promise 168

17.2 为什么使用promise 169

17.3 angular中的promise 170

17.4 链式请求 173

17.4.1 all(promises) 174

17.4.2 defer() 174

17.4.3 reject(reason) 174

17.4.4 when(value) 174



第18章 服务器通信 175

18.1 自定义服务器端 175

18.2 安装nodejs 175

18.3 安装express 176

18.4 调用api 178

18.5 使用amazon aws的无服务器应用 181

18.5.1 dynamodb 181

18.5.2 简单通知服务(sns) 181

18.5.3 简单队列服务(sqs,simple queue service) 182

18.5.4 简单存储服务(s3) 182

18.5.5 安全令牌服务(sts) 182

18.6 awsjs + angular 182

18.7 开始 182

18.8 介绍 184

18.9 安装 184

18.10 运行 185

18.11 用户认证/鉴权 186

18.12 userservice 190

18.13 迁移到aws上 191

18.14 awsservice 194

18.15 在dynamo上开始 196

18.16 $cachefactory 196

18.17 保存currentuser 197

18.18 上传到s3 199

18.19 处理文件上传 201

18.20 查询dynamo 203

18.21 在html显示列表 204

18.22 出售我们的作品 205

18.23 使用stripe 206

18.24 使用firebase的无服务器应用 209

18.25 使用firebase和angular的三方数据绑定 210

18.26 从angularfire开始 211

18.26.1 注册并创建一个firebase 211

18.26.2 包含firebase和angularfire库 212

18.26.3 把firebase作为依赖项添加 212

18.26.4 绑定模型到firebase url 212

18.26.5 数据同步 213

18.27 在angularfire中排序 214

18.28 firebase事件 215

18.29 显式同步 215

18.30 用angularfire进行认证 216

18.31 认证事件 217

18.31.1 $logout() 218

18.31.2 $createuser() 218

18.32 使用firebase托管部署你的angular应用 218

18.32.1 安装firebase工具 218

18.32.2 部署你的web站点 219

18.33 除了angularfire之外 219



第19章 测试 220

19.1 为什么要做测试 220

19.2 测试策略 220

19.3 开始测试 220

19.4 angularjs测试的类型 221

19.4.1 单元测试 221

19.4.2 端到端测试 222

19.5 开始 222

19.6 初始化karma配置文件 223

19.7 配置选项 226

19.8 使用requirejs 231

19.9 jasmine 233

19.9.1 细则套件 233

19.9.2 定义一个细则 233

19.10 预期 234

19.10.1 内置的匹配器 234

19.10.2 安装和卸载 237

19.11 端到端的介绍 238

19.11.1 选项输入 244

19.11.2 重复循环元素 244

19.12 模拟和测试帮助函数 245

19.13 模拟$httpbackend 246

19.14 测试一个应用 251

19.14.1 测试路由 252

19.14.2 测试页面内容 255

19.14.3 测试控制器 257

19.14.4 测试服务和工厂 259

19.14.5 测试过滤器 263

19.14.6 测试模板 264

19.14.7 测试指令 266

19.15 测试事件 269

19.16 对angular的持续集成 270

19.17 protractor 270

19.18 配置 272

19.19 配置选项 273

19.20 编写测试 275

19.21 测试实践 278

19.21.1 我们的应用 278

19.21.2 测试的策略 279

19.22 建立我们的**个测试 279

19.23 测试输入框 281

19.23.1 测试列表 282

19.23.2 测试路由 284

19.24 页面对象 285



第20章 事件 287

20.1 什么是事件 287

20.2 事件传播 287

20.2.1 使用$emit来冒泡事件 288

20.2.2 使用$broadcast向下传递事件 288

20.3 事件监听 289

20.4 事件对象 289

20.5 事件相关的核心服务 290

20.5.1 核心系统的$emitted事件 290

20.5.2 核心系统的$broadcast事件 290



第21章 架构 292

21.1 目录结构 292

21.2 模块 293

21.3 控制器 294

21.4 指令 296

21.5 测试 296



第22章 angular动画 297

22.1 安装 297

22.2 它是如何运作的 297

22.3 使用css3过渡 298

22.4 使用css3动画 300

22.5 交错css过渡/动画 301

22.5.1 交错css过渡 301

22.5.2 交错css动画 302

22.5.3 什么指令支持交错动画 302

22.6 使用javascript动画 302

22.7 微调动画 303

22.8 dom回调事件 304

22.9 内置指令的动画 304

22.9.1 ngrepeat动画 304

22.9.2 ngview动画 306

22.9.3 nginclude动画 308

22.9.4 ngswitch动画 310

22.9.5 ngif动画 312

22.9.6 ngclass动画 314

22.9.7 ngshow/nghide动画 316

22.10 创建自定义动画 318

22.10.1 addclass() 319

22.10.2 removeclass() 320

22.10.3 enter() 321

22.10.4 leave() 322

22.10.5 move() 323

22.11 与第三方库集成 324

22.11.1 animate.css 324

22.11.2 tweenmax/tweenlite 324



第23章 digest循环和$apply 326

23.1 $watch列表 326

23.2 脏值检查 327

23.3 $watch 328

23.4 $watchcollection 330

23.5 页面中的$digest循环 330

23.6 $evalasync列表 331

23.7 $apply 332

23.8 何时使用$apply 332



第24章 揭秘angular 334

24.1 视图的工作原理 335

24.1.1 编译阶段 335

24.1.2 运行时 336



第25章 angularjs精华扩展 337

25.1 angularui 337

25.2 安装 337

25.3 ui-router 337

25.3.1 安装 337

25.3.2 事件 342

25.3.3 $stateparams 343

25.3.4 $urlrouterprovider 344

25.3.5 创建一个导航程序 345

25.4 ui-utils 346

25.4.1 安装 347

25.4.2 mask 347

25.4.3 ui-event 347

25.4.4 ui-format 348



第26章 移动应用 350

26.1 响应式web应用 350

26.2 交互 350

26.2.1 安装 350

26.2.2 ngtouch 351

26.2.3 $swipe服务 352

26.2.4 angular-gestures和多点触控手势 353

26.2.5 安装angular-gestures 354

26.2.6 使用angular-gestures 354

26.3 cordova中的原生应用程序 355

26.4 cordova入门 356

26.4.1 cordova开发流程 359

26.4.2 平台 359

26.4.3 插件 359

26.4.4 构建 360

26.4.5 模拟和运行 360

26.4.6 开发阶段 360

26.4.7 anguar中的cordova服务 361

26.5 引入angular 362

26.6 使用yeoman构建 363

26.6.1 修改yeoman以便使用cordova 364

26.6.2 装配yeoman构建 365

26.6.3 构建移动部分 365

26.6.4 处理引导程序 367



第27章 本地化 369

27.1 angular-translate 369

27.2 安装 369

27.3 教你的应用一种新语言 370

27.4 多语言支持 371

27.5 运行时切换语言 372

27.6 加载语言 373

27.7 angular-gettext 374

27.8 安装 374

27.9 用法 375

27.10 字符串提取 375

27.11 翻译字符串 377

27.12 编译新语言 378

27.13 改变语言 379



第28章 缓存 381

28.1 什么是缓存 381

28.2 angular中的缓存 381

28.2.1 $cachefactory简介 381

28.2.2 缓存对象 382

28.3 $http中的缓存 382

28.3.1 默认的$http缓存 382

28.3.2 自定义缓存 383

28.4 为$http设置默认缓存 384



第29章 安全性 385

29.1 严格的上下文转义:$sce服务 385

29.2 url白名单 387

29.3 url黑名单 388

29.4 $sce api 388

29.4.1 gettrusted 388

29.4.2 parse 389

29.4.3 trustas 389

29.4.4 isenabled 390

29.5 配置$sce 390

29.6 可信赖的上下文类型 390



第30章 angularjs和ie浏览器 391

30.1 ajax缓存 393

30.2 angularjs中的seo 393

30.3 使angular应用可被索引 393

30.4 服务端 393

30.4.1 hashbang语法 394

30.4.2 html5路由模式 394

30.5 服务端处理seo的选项 394

30.5.1 使用node/express中间件 395

30.5.2 使用apache重写url 395

30.5.3 使用ngnix代理url 396

30.6 获取快照 396

30.7 使用zombie.js获取html快照 397

30.8 使用grunt-html-snapshot 398

30.9 prerender.io 399

30.10 
展开全部

相关资料

“在此之前,我为了学习angularjs总是在网上搜索阅读别人写的博客,但头脑中始终没法建立一个大局观。这本书内容真的很全很全,而且组织得当,讲解通俗,让我对angularjs有了全面系统的理解。”

“我看过好几本angularjs图书了,只有本书全面、详尽,循循善诱,通俗易懂,其他任何一本都无法与它比肩。”

“ 显然,作者ari lerner不仅是一位卓越的软件工程师,而且还是一位天才的老师和作者。他把angularjs的各种功能讲了一个遍,很多抽象的概念都讲得透彻易懂。”
——亚马逊读者评论

作者简介

Ari Lerner 全栈工程师,拥有多年AngularJS经验,自办并运营AngularJS电子报ng-newsletter.com,在著名硅谷工程师培训学校Hack Reactor担任AngularJS讲师。他的工作涉及软件开发的各个层次,包括基础设施开发、前端应用开发和性能优化。他目前住在旧金山一个阳光明媚的地方,还是FullStack.io创始人。

预估到手价 ×

预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。

确定
快速
导航