第1章 混合App开发简介 1
【教学导航】 1
1.1 什么是混合App开发 1
1.1.1 移动App开发的三种模式 1
1.1.2 混合App开发应用场景 3
1.2 混合App开发应用技术 4
1.2.1 MVC与MVVM架构模式 4
1.2.2 AngularJS简介 6
1.2.3 Cordova简介 8
1.2.4 ionic简介 9
1.3 本章小结 10
第2章 初识AngularJS 11
【教学导航】 11
2.1 快速体验AngularJS 11
2.1.1 AngularJS1与AngularJS2的区别 11
2.1.2 AngularJS的环境配置 12
2.1.3 第一个AngularJS程序 13
2.2 AngularJS的基本概念 16
2.2.1 AngularJS的模块与控制器 16
2.2.2 AngularJS作用域 20
2.2.3 AngularJS表达式 24
2.2.4 AngularJS的指令 27
2.2.5 自动化双向绑定 28
2.3 本章小结 29
第3章 AngularJS的指令 30
【教学导航】 30
3.1 指令的分类 30
3.2 AngularJS常用的内置指令 31
3.2.1 程序控制和数据绑定类指令 31
3.2.2 状态设置类指令 33
3.2.3 事件绑定类指令 39
3.2.4 访问流程类指令 42
3.2.5 加载处理类指令 49
3.3 AngularJS的自定义指令 50
3.3.1 directive()函数 51
3.3.2 自定义指令的约束 53
3.3.3 指令的作用域 54
3.4 本章小结 58
第4章 AngularJS相关原理 59
【教学导航】 59
4.1 AngularJS与MVVM 59
4.2 AngularJS的启动流程 60
4.3 脏检查机制 62
4.3.1 脏检查机制的实现原理 62
4.3.2 $watch函数 66
4.3.3 $apply函数 67
4.4 AngularJS与依赖注入 68
4.4.1 什么是依赖注入 69
4.4.2 JavaScript如何实现依赖注入 70
4.4.3 AngularJS中的依赖注入 72
4.5 本章小结 74
第5章 AngularJS的服务 75
【教学导航】 75
5.1 AngularJS创建服务 75
5.1.1 使用provider()函数创建服务 76
5.1.2 使用factory()函数创建服务 79
5.1.3 使用service()函数创建服务 80
5.1.4 使用value()和constant()函数创建服务 83
5.2 AngularJS内置服务 85
5.2.1 访问JavaScript全局对象 85
5.2.2 AngularJS路由 91
5.2.3 AngularJS中的Ajax访问 95
5.3 本章小结 98
第6章 AngularJS框架项目实战 99
6.1 项目实战——邀请名单 99
6.1.1 项目展示 99
6.1.2 项目分析 101
6.1.3 项目目录和文件结构 103
6.1.4 封装对象模型 104
6.1.5 编写业务逻辑 106
6.1.6 编写静态页面 107
6.1.7 添加数据绑定 110
6.2 项目实战——电影列表 111
6.2.1 项目展示 111
6.2.2 项目分析 113
6.2.3 项目目录和文件结构 115
6.2.4 接口API测试 116
6.2.5 搭建项目并封装自定义的JSONP服务 117
6.2.6 封装和测试数据对象模型 119
6.2.7 编写电影列表页面的控制器和模板 122
6.2.8 编写电影详情页面的控制器和模板 125
6.2.9 完成路由功能并整合项目 126
6.3 本章小结 128
第7章 ionic开发环境的安装与配置 129
【教学导航】 129
7.1 安装Android SDK 129
7.1.1 JDK的下载和安装 129
7.1.2 Android SDK的下载和安装 135
7.2 安装Node.js 142
7.2.1 Node.js和NPM简介 142
7.2.2 Node.js的下载和安装 142
7.3 安装Git 146
7.4 安装ionic和Cordova 150
7.4.1 ionic1与ionic2的区别 150
7.4.2 ionic和Cordova的安装 150
7.5 本章小结 151
第8章 快速体验ionic项目 152
【教学导航】 152
8.1 快速创建ionic项目 152
8.1.1 ionic的3种项目模板 152
8.1.2 下载项目模板 153
8.1.3 为项目添加Android平台支持 155
8.1.4 打包Android APK 157
8.2 ionic项目目录和文件结构 159
8.2.1 常用工作目录和重要文件 159
8.2.2 其他工作目录和文件 163
8.3 定制项目图标和启动页 165
8.4 本章小结 168
第9章 ionic CSS 169
【教学导航】 169
9.1 基本布局类样式 169
9.1.1 手机App常用布局方式 169
9.1.2 定高条块 170
9.1.3 内容区域 175
9.2 颜色和图标类样式 177
9.2.1 颜色 177
9.2.2 图标 179
9.3 界面组件类样式 181
9.3.1 按钮 181
9.3.2 列表 185
9.3.3 卡片 191
9.3.4 表单输入 192
9.3.5 选项卡 200
9.4 栅格系统类样式 204
9.4.1 基本行与列 204
9.4.2 指定列宽 205
9.4.3 指定列偏移 206
9.4.4 列表纵向对齐 207
9.4.5 响应式栅格 209
9.5 本章小结 210
第10章 ionicJavaScript(上) 212
【教学导航】 212
10.1 ionic JavaScript概述 212
10.1.1 ionic指令式组件 212
10.1.2 ionic服务式组件 213
10.2 基本布局组件 214
10.2.1 固定标题栏 214
10.2.2 内容区域 216
10.2.3 滚动条 218
10.2.4 滚动刷新 220
10.2.5 下拉刷新 223
10.2.6 手动控制滚动视图 225
10.3 ionic路由 229
10.3.1 路由状态机 229
10.3.2 模板视图与视图容器 230
10.3.3 路由的实现 230
10.4 界面组件 233
10.4.1 顶部导航栏 234
10.4.2 列表 237
10.4.3 表单输入 241
10.4.4 幻灯片 243
10.4.5 侧边栏菜单 246
10.4.6 选项卡 251
10.5 本章小结 256
第11章 ionic JavaScript(下) 257
【教学导航】 257
11.1 动态组件 257
11.1.1 模态对话框 257
11.1.2 上拉菜单 262
11.1.3 弹出框 265
11.1.4 浮动框 269
11.1.5 背景幕 273
11.1.6 载入指示器 275
11.2 手势事件 277
11.2.1 常用的手势事件 277
11.2.2 手动注册与解除手势事件 278
11.3 IndexedDB 279
11.3.1 IndexedDB简介 279
11.3.2 Object Store 280
11.3.3 请求的生命周期 281
11.3.4 IndexedDB的基本使用 282
11.4 本章小结 289
第12章 项目实战——Mall App 290
12.1 项目简介 290
12.1.1 项目展示 290
12.1.2 项目目录和文件结构 293
12.2 任务1——项目结构搭建 295
12.2.1 任务描述 295
12.2.2 任务分析 295
12.2.3 代码实现 296
12.3 任务2——引导页 298
12.3.1 任务描述 298
12.3.2 任务分析 299
12.3.3 代码实现 300
12.4 任务3——导航标签 307
12.4.1 任务描述 307
12.4.2 任务分析 307
12.4.3 代码实现 307
12.5 任务4——商城首页 310
12.5.1 任务描述 310
12.5.2 任务分析 310
12.5.3 代码实现 311
12.6 任务5——商品分类 323
12.6.1 任务描述 323
12.6.2 任务分析 324
12.6.3 代码实现 324
12.7 任务6——商品列表 335
12.7.1 任务描述 335
12.7.2 任务分析 335
12.7.3 代码实现 336
12.8 任务7——商品详情 347
12.8.1 任务描述 347
12.8.2 任务分析 347
12.8.3 代码实现 349
12.9 任务8——购物车 364
12.9.1 任务描述 364
12.9.2 任务分析 365
12.9.3 代码实现 365
12.10 任务9——个人中心 379
12.10.1 任务描述 379
12.10.2 任务分析 379
12.10.3 代码实现 380
12.11 本章小结 388