新書推薦:
《
大唐名城:长安风华冠天下
》
售價:NT$
398.0
《
情绪传染(当代西方社会心理学名著译丛)
》
售價:NT$
403.0
《
中国年画 1950-1990 THE NEW CHINA: NEW YEAR PICTURE 英文版
》
售價:NT$
1100.0
《
革命与反革命:社会文化视野下的民国政治(近世中国丛书)
》
售價:NT$
435.0
《
画楼:《北洋画报》忆旧(年轮丛书)
》
售價:NT$
1573.0
《
大国脊梁:漫画版
》
售價:NT$
374.0
《
跟着渤海小吏读历史:大唐气象(全三册)
》
售價:NT$
989.0
《
心智的构建:大脑如何创造我们的精神世界
》
售價:NT$
352.0
|
編輯推薦: |
资深专家根据Angular**版本撰写,对Angular的所有功能、特性、使用方法和开发技巧进行了全面而透彻的讲解,是学习Angular的权威参考书
92个精心设计的经典案例对各个知识点进行了充分阐释,理论与实践完美结合
|
內容簡介: |
本书由资深专家根据Angular最新版本撰写,是一本全面而系统的Angular实战教程,对Angular的所有功能、特性、开发方法和技巧进行了全面而透彻的讲解,是系统学习Angular的权威参考书。在写作方式上,本书以一种开创性的方式使理论与实践达到了极好的平衡,不仅对理论知识进行了清晰而透彻的阐述,而且根据读者理解这些知识的需要精心设计和构思了92个完整的实战案例,每个案例分为功能描述、实现代码、页面效果和源码分析4个部分,旨在帮助读者通过实践的方式达到迅速掌握Angular的目的。
全书共分为11个章,从普通页面开发者使用的角度,详细地介绍了Angular所涉及的全部应用知识。全书的整体框架分为两个部分;第一部分为Angular基础知识介绍,该部分为9章,分别为Angular简介、表达式与模板、数据绑定与作用域、依赖注入、MVC模式、Angular的服务、与服务端交互、Angular的指令、使用$location;第二部分为实践总结和案例开发,该部分为2章,分别为Angular 案例开发的注意事项和最佳实践、两个完整的综合案例开发。
近来,国内开发者对Angular的学习越来越热,有一个非常重要的原因在于Angular框架与以往任何一套前端框架都不同,它的主旨是克服HTML在构建应用上的不足,并补足这些应用的缺陷,如使用双大括号语法进行数据绑定、使用DOM控制结构来实现对页面元素的控制等一系列的方法,同时,Angular又是一个完整的端对端的解决方案,可以非常轻松地构建一个CRUD应用,并非常方便地实现测试、发布的功能。
本书通过理论与实践相结合的方式,精选了92个简洁、实用的实例,用由浅入深、逐层推进的方式,详细地展示了Angular作为前端Web页面开发新利器的方方面面。通过本书的学习,读者不仅可以全面了解并掌握整个Angular框架的详实内容,而且还能体会到Angular框架强大功能所带来的代码的优化,快速、高效地开发出受人喜爱的Web应用。
本书主要内容:
1. 对Angular特点、适用范围、开发环境进行讲解,并开发简单的Angular页面应用;
2. 对Angular表达式、控制器、模板中的过滤器、过滤器的应用的详细讲解;
3. 对Angular数据绑定与作用域功能的详细讲解;
4. 对依赖注入、注入标记、场景的详细讲解;
5. 对Angular中的MVC各个组成部分Model、Controller、View组件进行详细讲解;
6. 介绍了Angular服务的概念,并讲解服务的创建、管理和在控制器中注入服务;
7. 对Angular与服务端的交互、单元测试和交互安全进行了详细的讲解;
8. 开发Angular应用时的注意事项和最佳实践;
……
|
關於作者: |
陶国荣 资深Web技术专家,有10余年开发经验,是国内较早专业从事Web开发的一线技术人员和培训讲师。一直致力于对HTML 5、JavaScript、CSS
3、jQuery、jQUery
Mobile等Web开发技术的研究和实践,在HTML页面的优化与用户体验的研究,以及页面框架搭建、数据流向分析、页面静态优化等方面都拥有丰富的实践经验。他还是微软技术方面的专家,精通C#、ASP.NET和SQL
Server等技术。
此外,他还是一位知名的技术作家,出版了多部技术著作,其中《jQuery权威指南》和《HTML
5实战》是他的代表作,这两本书凭借过硬的质量和良好的学习体验获得了广大读者的高度评价,并取得了骄人的销售成绩。
|
目錄:
|
前 言
第1章初识Angular
1.1Angular简介
1.1.1特点
1.1.2适用范围
1.1.3搭建开发Angular应用的环境
1.2开发简单的Angular应用
示例1-1编写一个简单的Angular程序
示例1-2编写一个具有计算功能的Angular程序
示例1-3编写一个绑定页面元素的Angular程序
示例1-4编写一个绑定多个页面元素的Angular程序
1.3本章小结
第2章Angular基础知识
2.1Angular中的表达式
2.1.1Angular表达式与JavaScript表达式的区别
示例2-1Angular表达式与JavaScript表达式之间的相互调用
2.1.2$window窗口对象在表达式中的使用
示例2-2$window窗口对象在表达式中的使用
2.1.3Angular表达式的容错性
示例2-3Angular表达式的容错性
2.2Angular中的控制器
2.2.1控制器的概念
2.2.2控制器初始化$scope对象
示例2-4控制器初始化$scope对象
2.2.3添加$scope对象方法
示例2-5通过表达式绑定$scope对象的方法
示例2-6在事件中绑定$scope对象的方法
示例2-7添加带参数的$scope方法
2.2.4$scope对象属性和方法的继承
示例2-8$scope对象中方法和属性的继承
2.3Angular中的模板
2.3.1构建模板内容
示例2-9构建模板内容
2.3.2使用指令复制元素
示例2-10 使用指令复制元素
2.3.3添加元素样式
示例2-11 添加元素样式
2.3.4控制元素的隐藏与显示状态
示例2-12 控制元素的隐藏与显示状态
2.4模板中的表单控件
2.4.1表单基本验证功能
示例2-13 表单基本验证功能
2.4.2表单中的checkbox和radio控件
示例2-14 表单中的checkbox和radio控件
2.4.3表单中的select控件
示例2-15 表单中的select控件
2.5本章小结
第3章Angular的过滤器和作用域
3.1模板中的过滤器
3.1.1排序方式过滤
示例3-1排序方式过滤
3.1.2匹配方式过滤
示例3-2匹配方式过滤
3.1.3自定义过滤器
示例3-3自定义过滤器
3.2过滤器的应用
3.2.1表头排序
示例3-4表头排序
3.2.2字符查找
示例3-5字符查找
3.3作用域概述
3.3.1作用域特点
示例3-6$watch方法的使用
3.3.2作为数据模型的作用域
示例3-7作为数据模型的作用域
3.4作用域的层级和事件
3.4.1作用域的层级
示例3-8作用域的层级
3.4.2作用域事件的传播
示例3-9作用域事件的传播
3.5本章小结
第4章 Angular的依赖注入
4.1依赖注入介绍
4.1.1依赖注入的原理
示例4-1依赖注入的原理
4.1.2简单依赖注入的示例
示例4-2简单依赖注入的示例
4.2依赖注入标记
4.2.1推断式注入
示例4-3推断式注入的示例
4.2.2标记式注入
示例4-4标记式注入的示例
4.2.3行内式注入
示例4-5行内式注入的示例
4.3$injector常用API
4.3.1has和get方法
示例4-6has和get方法的示例
4.3.2invoke方法
示例4-7invoke方法的示例
4.3.3依赖注入应用的场景
4.4本章小结
第5章Angular中MVC模式
5.1MVC模式概述
5.1.1MVC简介
5.1.2使用Angular中MVC的优势和缺点
5.2Model组件
5.2.1Model组件的基础概念
示例5-1Model组件的基础概念
5.2.2使用ngRepeater方式遍历Model对象
示例5-2使用ngRepeater方式遍历Model对象
5.3Controller组件
5.3.1控制器的属性和方法
示例5-3控制器的属性和方法
5.3.2控制器方法中的参数
示例5-4控制器方法中的参数
5.3.3控制器中属性和方法的继承
示例5-5控制器中属性和方法的继承
5.4View组件
5.4.1View组件中的模板切换
示例5-6View组件中的模板切换
5.4.2在切换视图模板时传参数
示例5-7多页面切换并传递参数
5.5本章小结
第6章Angular的服务
6.1Angular服务介绍
6.1.1内置服务
示例6-1内置服务调用
6.1.2自定义服务
示例6-2使用$provide自定义服务
6.2创建Angular服务
6.2.1使用factory方法自定义服务
示例6-3使用factory方法自定义服务
6.2.2使用service方法自定义服务
示例6-4使用service方法自定义服务
6.2.3使用constant和value方法自定义服务
示例6-5使用constant和value方法自定义服务
6.3管理服务的依赖
6.3.1添加自定义服务依赖项方法
示例6-6添加自定义服务依赖项方法
6.3.2嵌套注入服务
示例6-7嵌套注入服务
6.4添加服务的其他设置
6.4.1服务的装饰器
示例6-8服务的装饰器
6.4.2服务的多例性
示例6-9服务的多例性
6.5本章小结
第7章Angular与服务端交互
7.1与服务端交互介绍
7.1.1传统的AJAX方式与服务端交互
示例7-1传统的AJAX方式与服务端交互
7.1.2使用$http快捷方法与服务端交互
示例7-2使用$http快捷方法与服务端交互
7.1.3使用$http配置对象方式与服务端交互
示例7-3使用$http配置对象方式与服务端交互
7.2Angular中的缓存
7.2.1$cacheFactory服务创建缓存对象
示例7-4$cacheFactory服务创建缓存对象
7.2.2$http服务中的缓存
示例7-5$http服务中的缓存
7.2.3自定义$http服务中的缓存
示例7-6自定义$http服务中的缓存
7.3$resource服务
7.3.1$resource服务的使用和对象中的方法
示例7-7$resource对象中方法 的使用
7.3.2在$resource服务中自定义请求方法
示例7-8$resource服务中自定义方法
7.4promise对象
7.4.1promise的基本概念和使用方法
示例7-9promise对象的创建和使用
7.4.2promise对象在$http中的应用
示例7-10 promise对象在$http中的应用
7.5本章小结
第8章Angular的指令
8.1Angular指令概述
8.1.1指令定义的基础
示例8-1创建一个新的指令
8.1.2设置指令对象的基础属性
示例8-2设置指令对象的基础属性
8.2Angular指令对象的重要属性
8.2.1指令对象中的transclude属性
示例8-3设置指令对象中的transclude属性
8.2.2指令对象中的link属性
示例8-4设置指令对象中的link属性
8.2.3指令对象中的compile属性
示例8-5设置指令对象中的compile属性
8.3Angular指令对象的scope属性
8.3.1scope属性是布尔值
示例8-6scope属性是布尔值
8.3.2scope属性是对象
示例8-7scope属性是JSON对象
8.4Angular指令对象的require和controller属性
8.4.1require和controller属性的概念
8.4.2一个使用require和controller属性的示例
示例8-8一个使用require和controller属性的示例
8.5本章小结
第9章使用$location
9.1初识$location
9.1.1调用$location对象的只读方法
示例9-1调用$location对象的只读方法
9.1.2调用$location对象的读写类方法
示例9-2调用$location对象的读写方法
9.2$location对象的事件
9.2.1$locationChangeStart事件
示例9-3捕捉$locationChangeStart事件
9.2.2$locationChangeSuccess事件
示例9-4捕捉locationChange-Success事件
9.3路由模式和地址变更
9.3.1标签(hashbang)模式
示例9-5标签模式下获取页面URL中的内容
9.3.2HTML 5模式
示例9-6HTML 5模式下获取页面URL中的内容
9.3.3模式间的区别与关联
示例9-7两种模式下分别获取页面URL中的内容
9.3.4路由对象方法的双向绑定
示例9-8路由对象方法的双向绑定
9.4本章小结
第10章 使用Angular开发的注意事项和最佳实践
10.1 页面元素的控制
10.1.1调用element方法控制DOM元素
示例10-1 调用element方法控制DOM元素
10.1.2解决setTimeout改变属性的无效
示例10-2 解决setTimeout改变属性的无效
10.1.3解决双大括号绑定元素时的闪烁问题
示例10-3 解决双大括号绑定元素时的闪烁问题
10.2 使用ng-repeat时的注意事项
10.2.1注意ng-repeat中的索引号
示例10-4 注意ng-repeat中的索引号
10.2.2使用track by排序ng-repeat中的数据
示例10-5 使用track by排序ng-repeat中的数据
10.2.3正确理解ng-repeat指令中scope的继承关系
示例10-6 正确理解ng-repeat指令中scope的继承关系
10.3 解决单击按钮事件中的冒泡现象
示例10-7 解决单击按钮事件中的冒泡现象
10.4 释放多余的$watch监测函数
示例10-8 释放多余的$watch监测函数
10.5 解决ng-if中ng-model值无效的问题
示例10-9 解决ng-if中ng-model值无效的问题
10.6 本章小结
第11章 综合案例开发
11.1 基于AngularJS使用canvas绘制圆形进度条
11.1.1需求分析
11.1.2界面效果
11.1.3功能开发
11.1.4源码解析
11.2 使用AngularJS开发一个抽奖应用
11.2.1需求分析
11.2.2界面效果
11.2.3功能开发
11.2.4源码解析
11.3本章小结
|
內容試閱:
|
为何写作本书
随着互联网技术的发展,尤其是移动互联网技术的兴起和迅速壮大,前端应用的开发并非简单静态页的制作,越来越多的功能复杂的动态应用由前端来完成。但是,在实现的过程中,前端技术自身有许多的不足,很难实现某些复杂功能。为克服自身的不足,往往需要借助一些常用的类库和框架,如jQuery和Backbone等,但这些外部引入的类库或框架只方便了代码开发,并未从根本上改变页面结构。为了从根本上克服静态页在应用开发过程中的不足,我们引入了AngularJS框架。
AngularJS是目前最热门的一种前端开发框架,为了简化,也可直接称为Angular,其实它们都表示一套相同的框架代码,这套代码与其他类库和框架的不同之处在于,它能从HTML本身的结构去改变开发动态应用的不足,如创建类似于页面元素的指令,使用{{}}括号的方式绑定数据,将一些逻辑代码与页面的元素进行关联,将HTML分组为可复用的各类组件。同时,AngularJS还很完美地支持页面中的表单元素和相关的验证功能。
当然,AngularJS中的内容远不止上述提及的几个部分,但它的核心功能是通过改变HTML页面的结构,增强和扩大DOM元素。基于这些提升的功能,开发人员可以非常方便、快捷地开发出一个具有增加、删除、修改、查询功能的前端应用,而在构建这种应用的过程中,AngularJS提供了大量可使用的功能,如数据双向绑定、服务依赖注入、组件复用、路由导航和应用测试与部署等,这是其他框架不可及之处,也是它的魅力所在。
“临渊羡鱼,不如退而结网”,每一个从事Web应用开发的工程师,无论是从事前端开发还是服务端的代码开发,都有理由更新自己的知识结构,掌握这门炙手可热的技术。但AngularJS毕竟是一门全新的前端开发框架,要求开发人员树立不同的开发理念和思路才能更好地学习它。因此,借助相应的书籍来引导开发者进行学习是非常有必要的。目前市场中大多数已出版的相关书籍只是简单的定义解析与理论灌输,没有对应的示例操作,缺乏对读者真正的实践指导。本书的诞生,很好地解决了这些难题,也衷心希望读者能通过对本书的理论学习与实践演练,早日开发出最为前沿与时尚的Web应用。
本书特色
“学以致用”是本书的一个重要特点,全书始终体现一个“用”字,无论是理论知识的介绍,还是实用示例的开发,无一例外,都是从实用的角度出发,对每一个示例都精心选择,详细介绍;为使读者能够通过示例执行后的页面效果加深对应用的理解,对每一个示例都精心编排,扼要说明;全书由浅入深,逐步推进,以示例为主线,引导读者的阅读兴趣,是本书的特点之一;全面、详细、完整地介绍AngularJS的功能与特征,又是本书的另外一个重要特点。
如何阅读本书
本书针对的是Web开发者,无论是前端开发,还是后台编码,都可以使用本书。在阅读过程中,由于本书的结构是层进式的,章节之间有一定的关联,因此,建议读者按章节的编排,逐章阅读;在阅读时,尽量不要照抄书中的示例,要理解主要的、核心的代码,自己动手开发相似功能的应用,并逐步完善其功能,才能真正掌握其代码的实质。
联系作者
希望这本耗时一年,积累我全部心得与技术感悟的拙著能给每位阅读本书的读者带来思路上的启发与技术上的提升,使每位读者通过阅读本书能够有所悟或有所得。同时,也非常希望能借本书出版之机与国内热衷于AngularJS技术的开发者进行交流。
本书的出版,首先要感谢机械工业出版社华章分社的编辑们,尤其是杨福川与姜影两位编辑,正是他们在写作过程中给予我全程指导,才使整个创作思路不断提升,全书的框架不断优化,进而确保本书顺利完稿。同时,还要感谢参加本书撰写的其他人员,他们是:裴星如、陈建平、李建洲、李静、刘义、李建勤、陶红英、孙芳、孙文华、孙义、陶林英、闵慎华、赵刚。另外,要感谢我的家人,正是他们的理解与默默支持,才能使我能够全心写作,顺利完成本书。
陶国荣
|
|