Angular开发入门与实战
全新正版 假一赔十 可开发票
¥
56.56
7.2折
¥
79
全新
库存6件
作者兰泽军
出版社人民邮电出版社
ISBN9787115561084
出版时间2021-05
装帧平装
开本16开
定价79元
货号1202330514
上书时间2024-09-02
商品详情
- 品相描述:全新
- 商品描述
-
目录
篇准备篇
章Angular概述2
1.1为什么要用Angular2
1.1.1速度和性能2
1.1.2跨平台运行2
1.1.3可伸缩性的设计2
1.1.4稳定性3
1.1.5谷歌和微软公司的支持3
1.1.6强大的生态系统3
1.2Angular的版本3
1.3Angular的核心概念4
1.3.1组件4
1.3.2模板和数据绑定4
1.3.3服务4
1.3.4依赖注入4
1.3.5指令5
1.3.6管道5
1.3.7模块5
1.4Angular的运行5
1.5小结5
第2章Angular开发基础6
2.1了解Web开发基础6
2.1.1客户端和服务器通信6
2.1.2什么是HTML7
2.1.3什么是DOM8
2.1.4HTML特性与DOM属性8
2.1.5CSS基础知识9
2.1.6CSS布局实战11
2.2掌握Node.js和npm基础14
2.3TypeScript基础知识15
2.4Web组件知识15
2.4.1什么是MVVM模式15
2.4.2MVVM模式的优点15
2.5选择适合的开发工具15
2.6如何学习Angular16
2.7小结16
第3章Node.js和npm基础17
3.1配置Node.js运行环境17
3.2如何使用node命令18
3.3Node.js模块知识18
3.3.1exports对象18
3.3.2require()函数19
3.3.3module对象19
3.4npm基础20
3.4.1使用npm命令安装模块20
3.4.2更新模块21
3.4.3卸载模块21
3.5开启一个Node.js项目21
3.5.1初始化Node.js项目21
3.5.2安装Express框架22
3.5.3启动Node.js项目23
3.6搭建Node.js项目开发环境23
3.6.1安装IDE23
3.6.2Node.js项目结构24
3.6.3node_modules文件夹的作用24
3.6.4package.json文件25
3.6.5识别模块的版本号25
3.6.6package-lock.json文件的作用26
3.6.7调试Node.js项目26
3.7小结27
第4章TypeScript基础知识28
4.1什么是TypeScript28
4.2快速上手TypeScript29
4.2.1安装TypeScript29
4.2.2 转译TypeScript29
4.2.3[示例tsc-ex100]开启个TypeScript项目30
4.3TypeScript数据类型31
4.3.1TypeScript类型注解31
4.3.2TypeScript基础数据类型32
4.3.3TypeScript中的类型转换35
4.3.4TypeScript类型断言36
4.3.5TypeScript类型保护37
4.3.6TypeScript的联合类型38
4.3.7TypeScript的类型别名38
4.3.8TypeScript的交叉类型38
4.4TypeScript的函数与参数39
4.4.1箭头函数39
4.4.2TypeScript函数类型39
4.4.3函数中的可选参数40
4.4.4函数中的默认参数40
4.5TypeScript数组41
4.5.1TypeScript数组类型41
4.5.2使用TypeScript数组的查找和检索方法41
4.6TypeScript接口42
4.7TypeScript类43
4.7.1类的构造函数43
4.7.2类的方法和属性44
4.7.3类的继承45
4.7.4类的存取器方法46
4.8TypeScript映射类型46
4.8.1Partial 映射类型46
4.8.2Readonly 映射类型47
4.8.3Exclude映射类型47
4.9TypeScript的相等性判断48
4.9.1非严格相等比较48
4.9.2严格相等比较 48
4.10TypeScript析构表达式48
4.10.1对象的析构表达式49
4.10.2数组的析构表达式49
4.11TypeScript模块50
4.11.1导出声明50
4.11.2导出语句50
4.11.3默认导出51
4.11.4导入内容51
4.12小结52
第2篇入门篇
第5章快速开启Angular项目54
5.1初识Angular CLI54
5.1.1安装Angular CLI54
5.1.2运行Angular CLI55
5.1.3卸载和更新Angular CLI56
5.1.4[示例cli-ex100]快速开启一个Angular项目56
5.2 搭建Angular开发环境58
5.2.1扩展IDE的功能58
5.2.2[示例cli-ex200]在运行时编辑项目59
5.2.3编译时的错误提醒60
5.2.4运行时的错误提醒61
5.3Angular CLI常用命令和选项61
5.3.1初始化命令和选项61
5.3.2创建命令和选项62
5.4Angular项目结构概述63
5.5如何启动Angular项目64
5.6Angular项目的启动过程65
5.7小结65
第6章Angular组件详解66
6.1什么是Angular组件66
6.2组件模板的种类67
6.2.1内联模板67
6.2.2外部模板68
6.2.3矢量图模板68
6.3组件样式68
6.4组件类的构成69
6.4.1组件类装饰器69
6.4.2组件类基础70
6.5组件类与模板的数据绑定方式70
6.5.1什么是单向数据绑定70
6.5.2使用插值显示属性的值71
6.5.3[示例components-ex100]使用插值显示属性的值71
6.5.4属性绑定方式72
6.5.5事件绑定80
6.5.6[示例components-ex600]事件绑定81
6.5.7双向数据绑定82
6.5.8[示例components-ex700]双向数据绑定82
6.6组件的生命周期84
6.7组件的交互85
6.7.1从创建子组件开始85
6.7.2[示例components-ex800]父组件拆分为子组件85
6.7.3父子组件的交互87
6.8小结90
第7章Angular模板91
7.1Angular模板语言基础91
7.2模板表达式和模板语句的基本用法91
7.2.1模板表达式的基本用法92
7.2.2模板表达式中的运算符93
7.2.3模板语句的基本用法94
7.3模板引用94
7.3.1模板引用变量94
7.3.2@ViewChild()装饰器95
7.3.3[示例template-ex100]使用@ViewChild()装饰器引用模板元素95
7.3.4@ViewChildren()装饰器97
7.3.5[示例template-ex200]使用@ViewChildren()装饰器引用多个模板元素98
7.4Angular数据绑定知识总结98
7.4.1单向属性绑定98
7.4.2单向事件绑定99
7.4.3双向数据绑定100
7.4.4[示例template-ex300]双向数据绑定100
7.5小结102
第8章Angular指令应用103
8.1Angular结构型指令103
8.1.1NgIf指令103
8.1.2[示例directive-ex100]使用NgIf指令显示和隐藏元素103
8.1.3NgFor指令105
8.1.4[示例directive-ex200]使用NgFor指令显示列表105
8.1.5NgSwitch指令106
8.1.6[示例directive-ex300]使用NgSwitch指令显示星期几107
8.1.7ng-container分组元素108
8.2Angular属性型指令109
8.2.1NgClass指令109
8.2.2NgStyle指令109
8.2.3NgContent指令110
8.2.4[示例directive-ex400]使用NgContent指令创建可重用添加按钮组件112
8.2.5在@ContentChildren()装饰器中使用NgContent指令113
8.2.6[示例directive-ex500]使用@ContentChildren()装饰器查询子组件列表114
8.3创建指令116
8.3.1在指令中访问DOM属性117
8.3.2[示例directive-ex600]使用自定义指令更改按钮大小117
8.3.3在指令中监听事件119
8.3.4[示例directive-ex700]在指令中监听事件119
8.3.5在指令中使用@HostBinding()装饰器绑定DOM属性121
8.3.6[示例directive-ex800]在指令中使用@HostBinding()装饰器绑定DOM属性121
8.3.7在指令中使用@HostListener()装饰器监听DOM事件122
8.3.8[示例directive-ex900]监听单击事件并实现当点击时增加计数122
8.4小结124
第9章Angular模块125
9.1什么是Angular模块125
9.1.1Angular根模块125
9.1.2Angular特性模块127
9.2常用内置模块127
9.3Angular模块业务分类128
9.3.1理解核心模块128
9.3.2防止重复导入核心模块129
9.3.3理解共享模块129
9.4如何正确地分割模块130
9.5小结130
第3篇应用篇
0章Angular路由功能132
10.1Angular路由简介132
10.1.1创建Web应用程序的路由模块132
10.1.2理解路由服务133
10.2简单的路由配置133
10.2.1基本路由配置134
10.2.2路由器出口134
10.2.3使用路由器链接136
10.2.4路由链接的激活状态137
10.2.5[示例route-ex100]使用路由器链接和路由链接的激活状态137
10.3路由器状态139
10.3.1路由器状态和激活路由状态139
10.3.2ActivatedRoute对象及其快照对象141
10.3.3[示例route-ex200]ActivatedRoute对象及其快照对象应用示例142
10.4路由器触发的事件143
10.5在路由中传递参数144
10.5.1传递配置参数144
10.5.2传递路径参数145
10.5.3传递查询参数146
10.5.4[示例route-ex300]使用路由传递参数148
10.6路由守卫152
10.6.1路由守卫的基本概念152
10.6.2配置路由守卫153
10.6.3CanActivate守卫应用154
10.6.4CanActivateChild守卫应用155
10.6.5CanDeactivate守卫应用155
10.6.6Resolve守卫应用156
10.6.7CanLoad守卫应用156
10.7路由器的延迟加载157
10.7.1延迟加载157
10.7.2实施延迟加载157
10.7.3[示例route-ex400]实现路由器的延迟加载功能159
10.8小结160
1章Angular服务和依赖注入161
11.1为什么需要服务161
11.2什么是依赖注入162
11.3创建可注入的服务类162
11.4选择注入器163
11.5配置提供商164
11.5.1提供商的类型 164
11.5.2配置方法164
11.6在类中注入服务167
11.6.1注入依赖类实例167
11.6.2注入可选的依赖类实例168
11.6.3使用@Inject()装饰器指定注入实例168
11.6.4注入Injector类对象实例168
11.6.5[示例injection-ex100]Angular配置和使用依赖注入169
11.7创建依赖174
11.8小结174
2章RxJS响应式编程基础175
12.1响应式编程的基本概念175
12.1.1异步数据流175
12.1.2可观察对象176
12.2RxJS的概念177
12.3RxJS创建器179
12.3.1of创建器179
12.3.2from创建器179
12.3.3range创建器180
12.3.4fromEvent创建器180
12.3.5timer创建器181
12.3.6interval创建器181
12.3.7defer创建器182
12.3.8随机数创建器182
12.4RxJS基本操作符183
12.4.1map操作符183
12.4.2tap操作符184
12.4.3filter操作符184
12.4.4mapTo操作符185
12.4.5retry操作符185
12.5RxJS合并操作符186
12.5.1concat操作符186
12.5.2merge操作符186
12.5.3zip操作符187
12.6RxJS高阶映射操作符187
12.6.1concatMap操作符188
12.6.2mergeMap操作符189
12.6.3switchMap操作符190
12.6.4exhaustMap操作符191
12.7RxJS可观察对象的冷热模式193
12.7.1冷模式的可观察对象193
12.7.2热模式的可观察对象194
12.8小结194
3章Angular表单195
13.1什么是Angular表单195
13.1.1模板驱动表单195
13.1.2响应式表单196
13.2表单模型196
13.2.1表单模型的容器196
13.2.2FormControl类197
13.2.3FormArray类198
13.2.4FormGroup类198
13.3表单指令199
13.4表单数据访问器200
13.5模板驱动表单相关指令202
13.5.1NgForm指令202
13.5.2NgModel指令203
13.5.3NgModelGroup指令205
13.6响应式表单相关指令206
13.6.1FormControlDirective指令207
13.6.2FormGroupDirective指令207
13.6.3FormControlName指令208
13.6.4FormGroupName指令208
13.6.5FormArrayName指令209
13.7表单构建器生成表单控件210
13.8表单验证211
13.8.1内置验证器的用法211
13.8.2组合使用内置验证器211
13.8.3自定义验证器211
13.8.4表单控件状态的CSS样式类212
13.9使用 ngSubmit 事件提交表单213
13.10创建两种类型的表单214
13.10.1[示例form-ex100]创建模板驱动表单和数据绑定214
13.10.2[示例form-ex200]创建响应式表单和数据绑定217
13.11模板驱动表单和响应式表单可以混合使用吗220
13.12小结220
4章HttpClient模块221
14.1HTTP简介221
14.1.1HTTP请求222
14.1.2HTTP响应222
14.2应用HttpClient模块223
14.3创建RESTful API服务224
14.3.1使用json-server创建RESTful API服务224
14.3.2使用Angular内存数据库模拟服务器225
14.4从服务器获取数据227
14.4.1请求带类型的响应228
14.4.2[示例httpclient-ex100]使用HttpClient模块的GET请求从服务器获取数据228
14.5HttpClient模块的请求头配置231
14.5.1添加请求头231
14.5.2读取完整的响应信息232
14.5.3配置请求参数232
14.5.4修改请求头233
14.5.5发出JSONP请求233
14.5.6请求非JSON数据234
14.6HttpClient模块与RxJS配合234
14.6.1错误处理234
14.6.2重试235
14.7把数据发送到服务器235
14.7.1发起POST请求236
14.7.2发起DELETE请求236
14.7.3发起PUT请求237
14.7.4[示例httpclient-ex300]使用HttpClient模块把数据发送到服务器237
14.8HTTP请求和响应的不变性243
14.8.1HTTP的请求体和克隆体243
14.8.2清空请求体243
14.9Angular拦截器243
14.9.1创建拦截器244
14.9.2配置拦截器提供商245
14.9.3[示例httpclient-ex400]配置日志和错误信息的拦截器245
14.10小结250
5章Angular管道251
15.1Angular管道的用法251
15.2Angular内置管道252
15.2.1async管道252
15.2.2currency管道252
15.2.3date管道254
15.2.4i18nSelect管道258
15.3自定义管道258
15.3.1自定义管道的步骤259
15.3.2[示例pipe-ex100]创建排序自定义管道259
15.4小结260
内容摘要
本书带领读者学习使用Angular构建Web应用程序:首先从Angular基础知识与核心概念入手,帮助Web开发初学者树立正确的开发理念,接下来讲解了Angular的各个功能模块,包括组件、模板、指令、模块、路由、服务和依赖、响应式编程、表单、HttpClient模块和Angular管道。除了对知识点的细致剖析,本书结合了作者多年的开发经验,提供了贴近实战的示例代码,一帮助Web开发初学者举一反三,在真实的生产环境中学以致用。
主编推荐
1.读者无需有前端开发基础
本书假设用户之前不了解Angular框架,或者假设用户一直是从事Java开发的,从来没有接触过前端框架。本书就是专门为这样的读者准备的,它从一开始外围知识着手,每一章节,每一个案例以及每一段代码都经过精心的设计和挑选,方便用户能快速的掌握 Angular 的实践技能。
2.知识点全面
本书所有的案例基于Angular开发,也是目前Angular的近期新版本。无论书中的讲解和示例代码的安排,都是基于依赖服务的很高版本进行,大量的应用案例甚至填补了官方文档的空白。
3.章节安排合理
本书一开始是基于培训 Reskill 的人士设计,结合笔者多年的学习新技术的经验,采用由浅入深、层层递进的结构,同时,本书的原稿经过身边同事的多次迭代反馈,里面的讲解及示例始终站在初学者的立场阐述,读者在学完本书后,可以直接进入Angular项目组担任开发角色。
4.示例设计专注解惑
本书主要是围绕实践展开
— 没有更多了 —
以下为对购买帮助不大的评价