发表于2024-11-20
AngularJS是Google公司开发的一款Web前端框架,功能强大,提供了一些优秀的特性,例如双向数据绑定、MVC架构模式、指令等,能够在很大程度上降低Web前端开发的难度,因此深受广大Web前端开发人员的喜爱。
《AngularJS入门与进阶》分为两个部分,第一部分为入门篇,从第1~14章,主要介绍AngularJS开发环境搭建、数据绑定、指令及路由等基本知识点,每个知识点都会有一个完整的案例与之对应;第15~19章为本书的第二部分,即进阶篇,主要介绍一些常用的AngularJS第三方精华扩展,以及目前主流的Web前端工具,包括包管理工具Npm和Bower、前端流式自动化工具Gulp及前端单元测试工具Jasmine&Karma;。在最后两章中,我们综合运用前面所学的知识,实现了一个AngularJS版本的扫雷游戏和一个客户管理系统。
本书既适合Web前端开发初学者、Web前端开发工程师阅读,也适合作为高等院校和培训学校相关专业的教材。
江荣波,毕业于江苏科技大学,目前就职于北京科蓝软件系统股份有限公司,担任Java高级工程师,参与过网上银行、直销银行、短信平台、渠道整合平台开发,对开源前端框架jQuery、AngularJS等有较深入研究,曾作为CSDN特邀编辑参与AngularJS知识库构建。
第一部分 入门篇
第1章 走进AngularJS世界 3
1.1 AngularJS简介 3
1.2 搭建AngularJS开发环境 3
1.2.1 选择集成开发工具 3
1.2.2 下载与安装AngularJS 6
1.2.3 代码调试工具 7
1.3 第一个AngularJS应用 8
1.4 AngularJS应用剖析 9
1.4.1 第一个AngularJS应用解惑 9
1.4.2 AngularJS应用构成元素 10
1.4.3 AngularJS表达式 10
1.5 本章小结 12
第2章 双向数据绑定 13
2.1 AngularJS双向数据绑定 13
2.2 ng-model指令 14
2.3 ng-bind指令 16
2.4 数据绑定实例:价格计算器 17
2.5 本章小结 18
第3章 AngularJS与MVC 19
3.1 MVC模式简介 19
3.2 AngularJS中的MVC 20
3.2.1 AngularJS控制器的定义 20
3.2.2 控制器对象的实例化 21
3.3 使用MVC思想重构价格计算器程序 22
3.4 控制器的作用域范围 23
3.5 控制器中处理DOM事件 25
3.6 本章小结 27
第4章 应用模块化 28
4.1 应用模块划分的重要性 28
4.2 AngularJS中的模块 28
4.2.1 AngularJS模块的定义 29
4.2.2 使用模块解决命名冲突问题 29
4.3 模块化最佳实践 32
4.4 本章小结 33
第5章 作用域与事件 34
5.1 AngularJS作用域详解 34
5.2 AngularJS作用域继承 36
5.2.1 JavaScript对象继承机制 36
5.2.2 AngularJS作用域对象原型继承 39
5.3 作用域高级特性 42
5.3.1 $watch方法监视作用域 42
5.3.2 作用域监视解除 45
5.3.3 $apply方法与$digest循环 46
5.3.4 $apply与$digest应用实战 47
5.3.5 $timeout与$interval服务介绍 49
5.4 作用域事件路由与广播 50
5.4.1 $emit方法实现事件路由 50
5.4.2 $broadcast方法实现事件广播 52
5.4.3 作用域对象$on方法详解 55
5.5 本章小结 55
第6章 路由与多视图 56
6.1 创建多视图应用 56
6.1.1 使用$routeProvider创建映射 56
6.1.2 创建多视图 58
6.1.3 通过路由切换视图 58
6.2 通过URL向控制器传递参数 60
6.3 ng-template指令的使用 62
6.4 $location服务 64
6.5 $location实现多视图切换 66
6.6 路由事件 67
6.7 ng-include指令 68
6.8 UI Router框架使用 69
6.8.1 UI Router下载与安装 69
6.8.2 UI Router使用案例 70
6.9 本章小结 73
第7章 AngularJS表单校验 74
7.1 Web前端表单校验的必要性 74
7.2 AngularJS表单校验模式 74
7.3 ngMessages模块 79
7.4 本章小结 82
第8章 AngularJS指令 83
8.1 内置指令详解 83
8.2 AngularJS自定义指令 86
8.3 指令定义对象详解 88
8.3.1 link方法 88
8.3.2 compile方法 92
8.3.3 scope属性与指令作用域 94
8.3.4 孤立作用域与父作用域模型数据绑定 95
8.3.5 Transclusion 100
8.3.6 controller方法与require属性 104
8.4 自定义表单验证模式 107
8.5 本章小结 109
第9章 Service、Factory与Provider 110
9.1 Service 110
9.2 Factory 112
9.3 Provider 113
9.4 Value&Constant; 114
9.5 本章小结 115
第10章 AngularJS过滤器 116
10.1 过滤器使用方法 116
10.2 AngularJS内置过滤器 118
10.3 自定义过滤器 126
10.3.1 案例一:自定义金额转换人民币大写过滤器 127
10.3.2 案例二:自定义带参数的过滤器 129
10.4 第三方过滤器库的使用 131
10.4.1 angular-filter 131
10.4.2 angular-emoji-filter 133
10.5 本章小结 134
第11章 AngularJS中的依赖注入 135
11.1 JavaScript依赖注入实现 138
11.2 AngularJS中的依赖注入 142
11.3 $provide服务介绍 143
11.4 $injector服务介绍 145
11.5 本章小结 146
第12章 AngularJS与动画 147
12.1 Web动画实现原理 147
12.2 使用CSS3实现动画 150
12.2.1 CSS3中的Transform属性 150
12.2.2 CSS3中的Transition属性 153
12.2.3 CSS3中的Animation属性 157
12.2.4 常用的CSS3动画库 160
12.3 AngularJS动画 162
12.3.1 基于事件驱动的CSS3动画 162
12.3.2 AngularJS中的JavaScript动画 166
12.3.3 ngView视图切换动画案例 168
12.3.4 ngAnimate与CSS3动画库整合 172
12.3.5 ngFx动画扩展库 175
12.4 本章小结 177
第13章 Cookie读写 178
13.1 Cookie简介 178
13.2 在JavaScript中操作Cookie 179
13.3 在AngularJS中操作Cookie 183
13.4 本章小结 186
第14章 Promise 187
14.1 AngularJS中的Promise机制 188
14.2 AngularJS请求Web服务 190
14.2.1 $http服务 191
14.2.2 使用Express构建RESTful服务 194
14.2.3 $resource服务 197
14.3 AngularJS文件上传 200
14.4 Angular File Upload模块介绍 204
14.5 本章小结 207
第二部分 进阶篇
第15章 AngularUI 211
15.1 UI Bootstrap 211
15.1.1 警告框案例 212
15.1.2 复选框案例 213
15.1.3 日历控件案例 215
15.1.4 模态对话框案例 216
15.1.5 下拉菜单案例 220
15.2 UI Ace 222
15.3 UI Grid 227
15.4 UI Date 229
15.5 UI Select 232
15.6 本章小结 234
第16章 AngularJS精华扩展 235
16.1 利用Angular Chart生成图表 235
16.1.1 柱状图案例 236
16.1.2 曲线图案例 237
16.1.3 饼状图案例 239
16.2 利用Videogular实现播放器 241
16.3 利用Angular Masonry实现照片墙 246
16.4 利用ngDialog实现对话框 250
16.5 本章小结 253
第17章 常用Web前端工具集 254
17.1 Node.js安装与使用 254
17.2 Npm包管理工具 257
17.2.1 Npm安装 257
17.2.2 初始化项目 258
17.2.3 安装Node模块 259
17.2.4 卸载Node模块 260
17.3 Bower管理工具 260
17.3.1 安装Bower 261
17.3.2 初始化Bower 261
17.3.3 使用Bower安装包 263
17.3.4 查看包的信息 263
17.3.5 更新包的版本 264
17.3.6 查找包 264
17.3.7 卸载包 264
17.4 Gulp项目管理工具 265
17.4.1 Gulp的安装与使用 265
17.4.2 利用JSHint验证JavaScript代码 266
17.4.3 压缩JavaScript代码 268
17.4.4 使用Gulp Changed插件更新文件 270
17.4.5 使用Gulp Plumber插件处理异常 271
17.4.6 使用Gulp压缩图片 271
17.4.7 使用Gulp编译Less 272
17.4.8 使用Gulp Browsersync插件进行调试 275
17.5 Jasmine&Karma;单元测试工具 277
17.5.1 安装Jasmine 278
17.5.2 使用Jasmine进行单元测试 278
17.5.3 在浏览器环境下使用Jasmine 282
17.5.4 安装并使用karma 284
17.5.5 整合Jasmine&Karma; 286
17.5.6 AngularJS单元测试 288
17.6 本章小结 294
第18章 综合案例:扫雷游戏 295
18.1 搭建开发环境 295
18.2 游戏元素介绍 296
18.3 实现布雷区 297
18.4 随机生成地雷 300
18.5 生成方格中的数字 303
18.6 响应右击事件 308
18.7 游戏胜利与失败条件检测 311
18.8 实现重新开始游戏功能 313
18.9 自动翻开相邻方格 314
18.10 本章小结 317
第19章 综合案例:客户管理系统 318
19.1 项目整体介绍 318
19.2 实现用户模块 321
19.3 实现主面板模块 326
19.4 实现报表模块 328
19.5 实现客户信息管理模块 331
19.6 本章小结 335
第2章 双向数据绑定
数据绑定是AngularJS框架最优秀的特性之一,能够帮助Web前端开发人员在很大程度上减少对DOM的操作,本章我们就来深入学习这种机制。
AngularJS双向数据绑定
数据绑定是AngularJS框架在视图(DOM元素)与作用域之间建立的数据同步机制。所谓“双向”,是指界面的操作能够实时同步到作用域中,作用域中的数据修改也能够实时回显到界面中。
作用域可以被视为一个容器,里面有一些基于key-value的数据。假如在视图中有两个输入框,输入框的name属性分别为uname和pword,如图2.1所示。为了和表单元素建立数据绑定,AngularJS会在作用域中添加两个对应的属性,假如名称也为uname和pword。当用户输入内容发生变化时,AngularJS框架就把表单内容同步到作用域中对应的变量中,而当我们改变作用域中的变量值时,AngularJS又会把修改后的变量值同步到表单中,这就是AngularJS的双向数据绑定。
图2.1 AngularJS双向数据绑定图解
ng-model指令
为了建立数据绑定,我们需要用到AngularJS另外一个内置指令ng-model,该指令只能用在表单元素上,使用方法如下:
在input输入框上添加ng-model指令后,AngularJS框架就会在对应的作用域中创建一个uname属性和该输入框进行绑定。
数据绑定是AngularJS最优秀的特性之一,下面以一个案例来说明AngularJS数据绑定机制的好处。假如我们要完成这样一个功能,即把用户在表单中输入的信息动态回显到页面中。
如果使用原生的JavaScript,可以通过document对象的getElementById()方法获取输入框对象,响应输入框的keyup事件,在输入框的keyup事件响应方法中获取输入框内容,然后同样以操作DOM的方式把输入框内容显示到页面中,具体代码如下:
代码清单:ch02ch02_01.html
用户名:前 言
AngularJS是Google公司开发的一款Web前端框架,其源码目前托管在Github上,从其源码的关注度就可以看出Angula AngularJS入门与进阶 下载 mobi epub pdf txt 电子书 格式
AngularJS入门与进阶 下载 mobi pdf epub txt 电子书 格式 2024
AngularJS入门与进阶 下载 mobi epub pdf 电子书买好久了现在才来评价,还是没来得及看哈哈哈
评分送姐姐的、希望她越来越优秀
评分虽然国人写的书,看看效果再追评
评分很好,很不错,很多,是正品
评分刚刚拿到手,很不错的一本书,好好学习一下
评分考虑过书的感受吗?书角都摔坏了!分拣的时候轻放不行吗?这个差评就是给摔坏的一角
评分还行,适合我这种入门的人看,通俗易懂。高级篇部分某些知识对于我来说还是需要时间消化的
评分可以可以还不错
评分非常不错,值得推荐
AngularJS入门与进阶 mobi epub pdf txt 电子书 格式下载 2024