天天看点

《AngularJS实战》——导读

《AngularJS实战》——导读

为何写作本书

随着互联网技术的发展,尤其是移动互联网技术的兴起和迅速壮大,前端应用的开发并非简单静态页的制作,越来越多的功能复杂的动态应用由前端来完成。但是,在实现的过程中,前端技术自身有许多的不足,很难实现某些复杂功能。为克服自身的不足,往往需要借助一些常用的类库和框架,如jquery和backbone等,但这些外部引入的类库或框架只方便了代码开发,并未从根本上改变页面结构。为了从根本上克服静态页在应用开发过程中的不足,我们引入了angularjs框架。

angularjs是目前最热门的一种前端开发框架,为了简化,也可直接称为angular,其实它们都表示一套相同的框架代码,这套代码与其他类库和框架的不同之处在于,它能从html本身的结构去改变开发动态应用的不足,如创建类似于页面元素的指令,使用{{}}括号的方式绑定数据,将一些逻辑代码与页面的元素进行关联,将html分组为可复用的各类组件。同时,angularjs还很完美地支持页面中的表单元素和相关的验证功能。

当然,angularjs中的内容远不止上述提及的几个部分,但它的核心功能是通过改变html页面的结构,增强和扩大dom元素。基于这些提升的功能,开发人员可以非常方便、快捷地开发出一个具有增加、删除、修改、查询功能的前端应用,而在构建这种应用的过程中,angularjs提供了大量可使用的功能,如数据双向绑定、服务依赖注入、组件复用、路由导航和应用测试与部署等,这是其他框架不可及之处,也是它的魅力所在。

“临渊羡鱼,不如退而结网”,每一个从事web应用开发的工程师,无论是从事前端开发还是服务端的代码开发,都有理由更新自己的知识结构,掌握这门炙手可热的技术。但angularjs毕竟是一门全新的前端开发框架,要求开发人员树立不同的开发理念和思路才能更好地学习它。因此,借助相应的书籍来引导开发者进行学习是非常有必要的。目前市场中大多数已出版的相关书籍只是简单的定义解析与理论灌输,没有对应的示例操作,缺乏对读者真正的实践指导。本书的诞生,很好地解决了这些难题,也衷心希望读者能通过对本书的理论学习与实践演练,早日开发出最为前沿与时尚的web应用。

本书特色

“学以致用”是本书的一个重要特点,全书始终体现一个“用”字,无论是理论知识的介绍,还是实用示例的开发,无一例外,都是从实用的角度出发,对每一个示例都精心选择,详细介绍;为使读者能够通过示例执行后的页面效果加深对应用的理解,对每一个示例都精心编排,扼要说明;全书由浅入深,逐步推进,以示例为主线,引导读者的阅读兴趣,是本书的特点之一;全面、详细、完整地介绍angularjs的功能与特征,又是本书的另外一个重要特点。

如何阅读本书

本书针对的是web开发者,无论是前端开发,还是后台编码,都可以使用本书。在阅读过程中,由于本书的结构是层进式的,章节之间有一定的关联,因此,建议读者按章节的编排,逐章阅读;在阅读时,尽量不要照抄书中的示例,要理解主要的、核心的代码,自己动手开发相似功能的应用,并逐步完善其功能,才能真正掌握其代码的实质。

前 言

<a href="https://yq.aliyun.com/articles/108205">第1章 初识angular</a>

<a href="https://yq.aliyun.com/articles/108229">1.1 angular简介</a>

1.1.1 特点

1.1.2 适用范围

1.1.3 搭建开发angular应用的环境

<a href="https://yq.aliyun.com/articles/108245">1.2 开发简单的angular应用</a>

示例1-1 编写一个简单的angular程序

示例1-2 编写一个具有计算功能的angular程序

示例1-3 编写一个绑定页面元素的angular程序

示例1-4 编写一个绑定多个页面元素的angular程序

<a href="https://yq.aliyun.com/articles/108249">1.3 本章小结</a>

<a href="https://yq.aliyun.com/articles/108252">第2章 angular基础知识</a>

<a href="https://yq.aliyun.com/articles/108258">2.1 angular中的表达式</a>

2.1.1 angular表达式与javascript表达式的区别

示例2-1 angular表达式与javascript表达式之间的相互调用

2.1.2 $window窗口对象在表达式中的使用

示例2-2 $window窗口对象在表达式中的使用

2.1.3 angular表达式的容错性

示例2-3 angular表达式的容错性

<a href="https://yq.aliyun.com/articles/108267">2.2 angular中的控制器</a>

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对象中方法和属性的继承

<a href="https://yq.aliyun.com/articles/108272">2.3 angular中的模板</a>

2.3.1 构建模板内容

示例2-9 构建模板内容

2.3.2 使用指令复制元素

示例2-10 使用指令复制元素

2.3.3 添加元素样式

示例2-11 添加元素样式

2.3.4 控制元素的隐藏与显示状态

示例2-12 控制元素的隐藏与显示状态

<a href="https://yq.aliyun.com/articles/108275">2.4 模板中的表单控件</a>

2.4.1 表单基本验证功能

示例2-13 表单基本验证功能

2.4.2 表单中的checkbox和radio控件

示例2-14 表单中的checkbox和radio控件

2.4.3 表单中的select控件

示例2-15 表单中的select控件

<a href="https://yq.aliyun.com/articles/108276">2.5 本章小结</a>

<a href="https://yq.aliyun.com/articles/108277">第3章 angular的过滤器和作用域</a>

<a href="https://yq.aliyun.com/articles/108281">3.1 模板中的过滤器</a>

3.1.1 排序方式过滤

示例3-1 排序方式过滤

3.1.2 匹配方式过滤

示例3-2 匹配方式过滤

3.1.3 自定义过滤器

示例3-3 自定义过滤器

<a href="https://yq.aliyun.com/articles/108337">3.2 过滤器的应用</a>

3.2.1 表头排序

示例3-4 表头排序

3.2.2 字符查找

示例3-5 字符查找

<a href="https://yq.aliyun.com/articles/108341">3.3 作用域概述</a>

3.3.1 作用域特点

示例3-6 $watch方法的使用

3.3.2 作为数据模型的作用域

示例3-7 作为数据模型的作用域

<a href="https://yq.aliyun.com/articles/108350">3.4 作用域的层级和事件</a>

3.4.1 作用域的层级

示例3-8 作用域的层级

3.4.2 作用域事件的传播

示例3-9 作用域事件的传播

<a href="https://yq.aliyun.com/articles/108355">3.5 本章小结</a>

第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.1 has和get方法

示例4-6 has和get方法的示例

4.3.2 invoke方法

示例4-7 invoke方法的示例

4.3.3 依赖注入应用的场景

4.4 本章小结

第5章 angular中mvc模式

5.1 mvc模式概述

5.1.1 mvc简介

5.1.2 使用angular中mvc的优势和缺点

5.2 model组件

5.2.1 model组件的基础概念

示例5-1 model组件的基础概念

5.2.2 使用ngrepeater方式遍历model对象

示例5-2 使用ngrepeater方式遍历model对象

5.3 controller组件

5.3.1 控制器的属性和方法

示例5-3 控制器的属性和方法

5.3.2 控制器方法中的参数

示例5-4 控制器方法中的参数

5.3.3 控制器中属性和方法的继承

示例5-5 控制器中属性和方法的继承

5.4 view组件

5.4.1 view组件中的模板切换

示例5-6 view组件中的模板切换

5.4.2 在切换视图模板时传参数

示例5-7 多页面切换并传递参数

5.5 本章小结

继续阅读