当前位置:主页 > 计算机电子书 > Web前端 > AngularJS下载
AngularJS权威教程

AngularJS权威教程 PDF 清晰版

  • 更新:2021-12-29
  • 大小:16.5 MB
  • 类别:AngularJS
  • 作者:Ari、Lerner
  • 出版:人民邮电出版社
  • 格式:PDF

  • 资源介绍
  • 相关推荐

内容简介

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

目录

  • 第1章初识AngularJS1
  • 1.1浏览器如何获取网页1
  • 1.2浏览器是什么2
  • 1.3AngularJS是什么2
  • 1.3.1AngularJS有什么不同3
  • 1.3.2许可3
  • 第2章数据绑定和第一个AngularJSWeb应用4
  • 2.1AngularJS中的数据绑定5
  • 2.2简单的数据绑定6
  • 2.3数据绑定的最佳实践8
  • 第3章模块10
  • 3.1参数11
  • 3.1.1name(字符串)11
  • 3.1.2requires(字符串数组)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.1restrict(字符串)74
  • 10.1.2优先级(数值型)75
  • 10.1.3terminal(布尔型)75
  • 10.1.4template(字符串或函数)76
  • 10.1.5templateUrl(字符串或函数)76
  • 10.1.6replace(布尔型)77
  • 10.2指令作用域77
  • 10.2.1scope参数(布尔型或对象)78
  • 10.2.2隔离作用域80
  • 10.3绑定策略81
  • 10.3.1transclude82
  • 10.3.2controller(字符串或函数)84
  • 10.3.3controllerAs(字符串)86
  • 10.3.4require(字符串或数组)86
  • 10.4AngularJS的生命周期87
  • 10.4.1编译阶段87
  • 10.4.2compile(对象或函数)88
  • 10.4.3链接89
  • 10.5ngModel90
  • 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.1HTML5模式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$injectorAPI111
  • 13.4.1annotate()111
  • 13.4.2get()111
  • 13.4.3has()111
  • 13.4.4instantiate()112
  • 13.4.5invoke()112
  • 13.5ngMin112
  • 13.5.1安装113
  • 13.5.2使用ngMin113
  • 13.5.3工作原理113
  • 第14章服务114
  • 14.1注册一个服务114
  • 14.2使用服务116
  • 14.3创建服务时的设置项118
  • 14.3.1factory()119
  • 14.3.2service()119
  • 14.3.3provider()120
  • 14.3.4constant()122
  • 14.3.5value()122
  • 14.3.6何时使用value()和constant()123
  • 14.3.7decorator()123
  • 第15章同外界通信:XHR和服务器通信125
  • 15.1使用$http125
  • 15.2设置对象128
  • 15.3响应对象130
  • 15.4缓存HTTP请求131
  • 15.5拦截器132
  • 15.6设置$httpProvider133
  • 15.7使用$resource134
  • 15.8安装134
  • 15.9应用$resource135
  • 15.9.1基于HTTPGET方法135
  • 15.9.2基于非HTTPGET类型的方法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使用Restangular142
  • 15.14Restangular简介142
  • 15.15安装Restangular143
  • 15.16Restangular对象简介144
  • 15.17使用Restangular145
  • 15.17.1我的HTTP方法们怎么办146
  • 15.17.2自定义查询参数和头147
  • 15.18设置Restangular147
  • 第16章XHR实践153
  • 16.1跨域和同源策略153
  • 16.2JSONP153
  • 16.3使用CORS154
  • 16.3.1设置154
  • 16.3.2服务器端CORS支持155
  • 16.3.3简单请求155
  • 16.3.4非简单请求156
  • 16.4服务器端代理157
  • 16.5使用JSON157
  • 16.6使用XML158
  • 16.7使用AngularJS进行身份验证159
  • 16.7.1服务器端需求159
  • 16.7.2客户端身份验证160
  • 16.8和MongoDB通信165
  • 第17章promise168
  • 17.1什么是promise168
  • 17.2为什么使用promise169
  • 17.3Angular中的promise170
  • 17.4链式请求173
  • 17.4.1all(promises)174
  • 17.4.2defer()174
  • 17.4.3reject(reason)174
  • 17.4.4when(value)174
  • 第18章服务器通信175
  • 18.1自定义服务器端175
  • 18.2安装NodeJS175
  • 18.3安装Express176
  • 18.4调用API178
  • 18.5使用AmazonAWS的无服务器应用181
  • 18.5.1DynamoDB181
  • 18.5.2简单通知服务(SNS)181
  • 18.5.3简单队列服务(SQS,SimpleQueueService)182
  • 18.5.4简单存储服务(S3)182
  • 18.5.5安全令牌服务(STS)182
  • 18.6AWSJS+Angular182
  • 18.7开始182
  • 18.8介绍184
  • 18.9安装184
  • 18.10运行185
  • 18.11用户认证/鉴权186
  • 18.12UserService190
  • 18.13迁移到AWS上191
  • 18.14AWSService194
  • 18.15在Dynamo上开始196
  • 18.16$cacheFactory196
  • 18.17保存currentUser197
  • 18.18上传到S3199
  • 18.19处理文件上传201
  • 18.20查询Dynamo203
  • 18.21在HTML显示列表204
  • 18.22出售我们的作品205
  • 18.23使用Stripe206
  • 18.24使用Firebase的无服务器应用209
  • 18.25使用Firebase和Angular的三方数据绑定210
  • 18.26从AngularFire开始211
  • 18.26.1注册并创建一个Firebase211
  • 18.26.2包含Firebase和AngularFire库212
  • 18.26.3把Firebase作为依赖项添加212
  • 18.26.4绑定模型到FirebaseURL212
  • 18.26.5数据同步213
  • 18.27在AngularFire中排序214
  • 18.28Firebase事件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.4AngularJS测试的类型221
  • 19.4.1单元测试221
  • 19.4.2端到端测试222
  • 19.5开始222
  • 19.6初始化Karma配置文件223
  • 19.7配置选项226
  • 19.8使用RequireJS231
  • 19.9Jasmine233
  • 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模拟$httpBackend246
  • 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.17Protractor270
  • 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.8DOM回调事件304
  • 22.9内置指令的动画304
  • 22.9.1ngRepeat动画304
  • 22.9.2ngView动画306
  • 22.9.3ngInclude动画308
  • 22.9.4ngSwitch动画310
  • 22.9.5ngIf动画312
  • 22.9.6ngClass动画314
  • 22.9.7ngShow/ngHide动画316
  • 22.10创建自定义动画318
  • 22.10.1addClass()319
  • 22.10.2removeClass()320
  • 22.10.3enter()321
  • 22.10.4leave()322
  • 22.10.5move()323
  • 22.11与第三方库集成324
  • 22.11.1Animate.css324
  • 22.11.2TweenMax/TweenLite324
  • 第23章digest循环和$apply326
  • 23.1$watch列表326
  • 23.2脏值检查327
  • 23.3$watch328
  • 23.4$watchCollection330
  • 23.5页面中的$digest循环330
  • 23.6$evalAsync列表331
  • 23.7$apply332
  • 23.8何时使用$apply332
  • 第24章揭秘Angular334
  • 24.1视图的工作原理335
  • 24.1.1编译阶段335
  • 24.1.2运行时336
  • 第25章AngularJS精华扩展337
  • 25.1AngularUI337
  • 25.2安装337
  • 25.3ui-router337
  • 25.3.1安装337
  • 25.3.2事件342
  • 25.3.3$stateParams343
  • 25.3.4$urlRouterProvider344
  • 25.3.5创建一个导航程序345
  • 25.4ui-utils346
  • 25.4.1安装347
  • 25.4.2mask347
  • 25.4.3ui-event347
  • 25.4.4ui-format348
  • 第26章移动应用350
  • 26.1响应式Web应用350
  • 26.2交互350
  • 26.2.1安装350
  • 26.2.2ngTouch351
  • 26.2.3$swipe服务352
  • 26.2.4angular-gestures和多点触控手势353
  • 26.2.5安装angular-gestures354
  • 26.2.6使用angular-gestures354
  • 26.3Cordova中的原生应用程序355
  • 26.4Cordova入门356
  • 26.4.1Cordova开发流程359
  • 26.4.2平台359
  • 26.4.3插件359
  • 26.4.4构建360
  • 26.4.5模拟和运行360
  • 26.4.6开发阶段360
  • 26.4.7Anguar中的Cordova服务361
  • 26.5引入Angular362
  • 26.6使用Yeoman构建363
  • 26.6.1修改Yeoman以便使用Cordova364
  • 26.6.2装配Yeoman构建365
  • 26.6.3构建移动部分365
  • 26.6.4处理引导程序367
  • 第27章本地化369
  • 27.1angular-translate369
  • 27.2安装369
  • 27.3教你的应用一种新语言370
  • 27.4多语言支持371
  • 27.5运行时切换语言372
  • 27.6加载语言373
  • 27.7angular-gettext374
  • 27.8安装374
  • 27.9用法375
  • 27.10字符串提取375
  • 27.11翻译字符串377
  • 27.12编译新语言378
  • 27.13改变语言379
  • 第28章缓存381
  • 28.1什么是缓存381
  • 28.2Angular中的缓存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.2URL白名单387
  • 29.3URL黑名单388
  • 29.4$sceAPI388
  • 29.4.1getTrusted388
  • 29.4.2parse389
  • 29.4.3trustAs389
  • 29.4.4isEnabled390
  • 29.5配置$sce390
  • 29.6可信赖的上下文类型390
  • 第30章AngularJS和IE浏览器391
  • 30.1Ajax缓存393
  • 30.2AngularJS中的SEO393
  • 30.3使Angular应用可被索引393
  • 30.4服务端393
  • 30.4.1hashbang语法394
  • 30.4.2HTML5路由模式394
  • 30.5服务端处理SEO的选项394
  • 30.5.1使用Node/Express中间件395
  • 30.5.2使用Apache重写URL395
  • 30.5.3使用Ngnix代理URL396
  • 30.6获取快照396
  • 30.7使用Zombie.js获取HTML快照397
  • 30.8使用grunt-html-snapshot398
  • 30.9Prerender.io399
  • 30.10<noscript>方法400
  • 第31章构建AngularChrome应用401
  • 31.1了解Chrome应用401
  • 31.1.1manifest.json401
  • 31.1.2背景脚本401
  • 31.1.3视图401
  • 31.2构建你的Chrome应用402
  • 31.3搭建框架402
  • 31.4manifest.json403
  • 31.5tab.html404
  • 31.6在Chrome中加载应用405
  • 31.7主模块406
  • 31.8构建主页406
  • 31.9使用Wundergroud的天气API408
  • 31.10设置界面411
  • 31.11实现用户服务413
  • 31.12城市自动填充/自动完成415
  • 31.13添加时区支持418
  • 第32章优化Angular应用421
  • 32.1优化什么421
  • 32.2优化$digest循环421
  • 32.3优化ng-repeat423
  • 32.4优化$digest调用423
  • 32.5优化$watch函数424
  • 32.5.1bindonce425
  • 32.5.2$watch函数的自动优化427
  • 32.6优化过滤器427
  • 32.6.1不变的数据427
  • 32.6.2过滤后的数据427
  • 32.7页面加载优化技巧428
  • 32.7.1压缩429
  • 32.7.2利用$templateCache429
  • 第33章调试AngularJS430
  • 33.1从DOM中调试430
  • 33.1.1scope()431
  • 33.1.2controller()431
  • 33.1.3injector()431
  • 33.1.4inheritedData()431
  • 33.2调试器431
  • 33.3AngularBatarang432
  • 33.3.1安装Batarang432
  • 33.3.2检查模型433
  • 33.3.3检查性能433
  • 33.3.4检查依赖图表434
  • 33.3.5可视化应用434
  • 第34章下一步435
  • 34.1jqLite和jQuery435
  • 34.2了解基本工具436
  • 34.3Grunt436
  • 34.4grunt-angular-templates439
  • 34.4.1安装439
  • 34.4.2用法440
  • 34.4.3可用选项440
  • 34.4.4用法442
  • 34.5Lineman443
  • 34.6Bower445
  • 34.6.1安装445
  • 34.6.2Bower简介445
  • 34.6.3配置Bower446
  • 34.6.4搜索程序包447
  • 34.6.5安装程序包447
  • 34.6.6使用程序包447
  • 34.6.7移除程序包448
  • 34.7Yeoman448
  • 34.7.1安装448
  • 34.7.2用法449
  • 34.7.3创建路由451
  • 34.7.4创建控制器451
  • 34.7.5创建自定义指令451
  • 34.7.6创建自定义过滤器451
  • 34.7.7创建视图451
  • 34.7.8创建服务452
  • 34.7.9创建装饰器452
  • 34.8配置Angular生成器452
  • 34.8.1CoffeeScript452
  • 34.8.2安全压缩452
  • 34.8.3跳过索引452
  • 34.9测试应用452
  • 34.10打包应用453
  • 34.11打包模板453
  • 第35章总结456

资源下载

资源下载地址1:https://pan.baidu.com/s/1kNYUcLzEI11k2WXAkB7eEw

相关资源

网友留言

网友NO.38664
郗梓云

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

网友NO.20060
萧惠娅

三年前,我跟风买了这本书,想好好学习angularjs我从没想过中间会因为某种原因被打断,又翻了一遍已经是17年的开始。

编排比《angularjs高级程序设计》好,每章简洁易读。但是,缺点也很明显有些地方写错了,译者没有要求很好的理解,也没有在准确理解的基础上进行翻译结果,有些地方全是废话。但总的来说,这两本书各有利弊,我是一起看的。

书里有很多代码,起不到任何作用您需要自己下载代码才能看到它这是胡扯。

有些地方缺乏深度,但比《angularjs高级程序设计》更精准,备受好评。

网友NO.22892
幸痴旋

AngularJS的入门书,看完能快速上手Angular,但是感觉对原理性的东西讲解得不多,想要深入原理最好还要去看《Build your own Angular》