Vue.js是一个用来开发Web界面的前端库。本书致力于普及国内Vue.js技术体系,让更多喜欢前端的人员了解和学习Vue.js。如果你对Vue.js基础知识感兴趣,如果你对源码解析感兴趣,如果你对Vue.js 2.0感兴趣,如果你对主流打包工具感兴趣,如果你对如何实践感兴趣,本书都是一本不容错过的以示例代码为引导、知识涵盖的选择。全书一共30章,由浅入深地讲解了Vue.js基本语法及源码解析。主要内容包括数据绑定、指令、表单控件绑定、过滤器、组件、表单验证、服务通信、路由和视图、vue-cli、测试开发和调试、源码解析及主流打包构建工具等。该书内容,讲解细致,示例丰富,适用于各层次的开发者。
√ 前端大腕集体赞誉站台,随着阿里Weex开源,2016可谓Vue.js年!
√ 作为移动端方案,Vue在React Native和Ionic之外另辟蹊径!
√ 滴滴前端团队潜心研究和实践Vue.js,得到框架作者尤雨溪盛赞!
√ 本书兼容和覆盖新版本Vue.js 2.0特性,同样适用于进阶人群!
滴滴出行公共前端团队,主要负责公司级组件库和基础服务建设和前端解决方案。我们喜欢新技术,热衷沉淀和积累。
张耀春:公共前端团队负责人,人称“小春”,09 年接触前端,喜欢潜水、赛车和专研新技术。
黄轶:前端技术专家,擅长前端自动化、工程化及前端架构,喜欢开源,乐于分享。
王静:负责mis 项目开发管理,爱生活、爱冒险、爱挑战,对代码有一丢丢的小洁癖。
苏伟:负责MIS系统开发,熟悉Angular、Vue等开发框架,擅长使用工具来提高开发效率。
王瑾:负责webapp方向的开发,喜欢自己的代码最终呈现在用户面前的感觉。
殷献勇:北邮土著,CS 硕士在读。享受编程,热爱前端。期待成为 JavaScript 技术栈工程师。
目 录
第1章遇见Vue.js 1
1.1 MVX模式是什么 1
1.1.1 MVC 1
1.1.2 MVP 2
1.1.3 MVVM 3
1.2Vue.js是什么 4
1.2.1 Vue.js与其他框架的区别 4
1.2.2 如何使用Vue.js 10
1.2.3 Vue.js的发展历史 11
第2章数据绑定 12
2.1 语法 12
2.1.1 插值 12
2.1.2 表达式 13
2.1.3 指令 13
2.2 分隔符 14
第3章指令 15
3.1 内部指令 15
3.1.1 v-if 15
3.1.2 v-show 16
3.1.3 v-else 17
3.1.4 v-model 18
3.1.5 v-repeat 20
3.1.6 v-for 29
3.1.7 v-text 37
3.1.8 v-html 37
3.1.9 v-bind 38
3.1.10 v-on 39
3.1.11 v-ref 40
3.1.12 v-el 40
3.1.13 v-pre 41
3.1.14 v-cloak 41
3.2 自定义指令 41
3.2.1 基础 42
3.2.2 高级选项 46
3.3 内部指令解析 51
3.4 常见问题解析 53
第4章计算属性 56
4.1 什么是计算属性 56
4.2计算属性缓存 57
4.3常见问题 59
4.3.1 计算属性getter不执行的场景 59
4.3.2 在v-repeat中使用计算属性 60
第5章表单控件绑定 62
5.1基本用法 62
5.1.1 text 62
5.1.2 checkbox 62
5.1.3 radio 63
5.1.4 select 63
5.2 值绑定 65
5.3 v-model修饰指令 66
5.3.1 lazy 66
5.3.2 debounce 67
5.3.3 number 67
5.4 修饰指令原理 67
5.4.1 lazy源码解析 67
5.4.2 debounce源码解析 68
5.4.3 number源码解析 69
第6章过滤器 70
6.1 内置过滤器 71
6.1.1 字母操作 71
6.1.2 json过滤器 72
6.1.3 限制 72
6.1.4 currency过滤器 75
6.1.5 debounce过滤器 76
6.2 自定义过滤器 76
6.2.1 fillter语法 76
6.2.2 教你写一个filter 78
6.3 源码解析 79
6.3.1 管道实现 79
6.3.2 过滤器解析 80
6.4 常见问题解析 80
第7章Class与Style绑定 82
7.1 绑定HTML Class 82
7.1.1 对象语法 82
7.1.2 数组语法 84
7.2 绑定内联样式 84
7.2.1 对象语法 84
7.2.2 数组语法 85
7.2.3 自动添加前缀 86
第8章过渡 88
8.1 CSS过渡 89
8.1.1 内置Class类名 90
8.1.2 自定义CSS类名 91
8.1.3 显式声明CSS过渡类型 91
8.1.4 动画案例 91
8.1.5 过渡流程 92
8.2 JavaScript过渡 94
8.3 渐进过渡 95
第9章Method 97
9.1 如何绑定事件 97
9.1.1 内联方式 97
9.1.2 methods配置 98
9.1.3 $events应用 99
9.2 如何使用修饰符 99
9.2.1 prevent 100
9.2.2 stop 100
9.2.3 capture 100
9.2.4 self 100
9.2.5 按键 101
9.3 Vue.js 0.12到1.0中的变化 101
9.3.1 v-on变更 101
9.3.2 @click缩写 102
第10章Vue实例方法 103
10.1 实例属性 103
10.1.1 组件树访问 103
10.1.2 DOM访问 104
10.1.3 数据访问 104
10.2 实例方法 104
10.2.1 实例DOM方法的使用 104
10.2.2 实例Event方法的使用 106
第11章组件 108
11.1 基础 109
11.1.1 注册 109
11.1.2 数据传递 111
11.1.3 混合 124
11.1.4 动态组件 127
11.2 相关拓展 130
11.2.1 组件和v-for 130
11.2.2 编写可复用组件 131
11.2.3 异步组件 131
11.2.4 资源命名约定 132
11.2.5 内联模板 133
11.2.6 片段实例 134
11.3 生命周期 135
11.4 开发组件 137
11.4.1 基础组件 137
11.4.2 基于第三方组件开发 142
11.5 常见问题解析 147
第12章表单校验 154
12.1 安装 154
12.2 基本使用 155
12.3 验证结果结构 156
12.4 验证器语法 158
12.4.1 校验字段名field 158
12.4.2 校验规则定义 160
12.5 内置验证规则 163
12.5.1 required 163
12.5.2 pattern 165
12.5.3 minlength 165
12.5.4 maxlength 166
12.5.5 min 167
12.5.6 max 167
12.6 与v-model同时使用 168
12.7 重置校验结果 169
12.8 表单元素 169
12.9 各校验状态对应的class 172
12.9.1 自定义校验状态class 173
12.9.2 在其他元素上使用校验状态class 173
12.10 分组校验 174
12.11 错误信息 174
12.11.1 错误信息输出组件 177
12.11.2 动态设置错误信息 180
12.12 事件 182
12.12.1 单个字段校验事件 182
12.12.2 整个表单校验事件 183
12.13 延迟初始化 185
12.14 自定义验证器 186
12.14.1 注册自定义验证器 187
12.14.2 错误信息 188
12.15 自定义验证时机 189
12.16 异步验证 192
12.16.1 注册异步验证器 192
12.16.2 验证器函数context 194
第13章与服务端通信 196
13.1 vue-resource安装及配置 197
13.1.1 安装 197
13.1.2 参数配置 198
13.1.3 headers配置 199
13.1.4 基本HTTP调用 200
13.1.5 请求选项对象 202
13.1.6 response对象 205
13.1.7 RESTful调用 205
13.1.8 拦截器 207
13.1.9 跨域AJAX 208
13.1.10 Promise 210
13.1.11 url模板 211
13.2 vue-async-data 212
13.2.1 安装 212
13.2.2 使用 212
13.3 常见问题解析 213
13.3.1 如何发送JSONP请求 213
13.3.2 如何修改发送给服务端的数据类型 215
13.3.3 跨域请求出错 215
13.3.4 $.http.post方法变为OPTIONS方法 216
第14章路由与视图 217
14.1 如何安装 217
14.2 基本使用 218
14.3 视图部分 219
14.3.1 v-link 219
14.3.2 router-view 222
14.4 路由实例 222
14.5 组件路由配置 227
14.5.1 路由切换的各个阶段 227
14.5.2 各阶段的钩子函数介绍 230
14.6 路由匹配 236
14.6.1 动态片段 236
14.6.2 全匹配片段 237
14.6.3 具名路径 237
14.6.4 路由对象 238
14.7 transition对象 239
14.8 嵌套路由 239
14.9 动态加载路由组件 241
14.10 实战 242
14.10.1 浏览器直接引用 242
14.10.2 Webpack模块化开发 244
14.11 常见问题解析 250
第15章vue-cli 254
15.1 安装 254
15.2 基本使用 254
15.3 命令 257
15.3.1 init 257
15.3.2 list 257
15.4 模板 258
15.4.1 官方模板 258
15.4.2 自定义模板 258
15.4.3 本地模板 259
15.5 不错的工具包 259
15.5.1 commander 259
15.5.2 download-git-repo 259
15.5.3 inquirer 259
15.5.4 ora 260
第16章测试开发与调试 261
16.1 测试工具 261
16.1.1 ESLint 261
16.1.2 工具包 263
16.2 开发工具 264
16.2.1 Vue Syntax Highlight 264
16.2.2 Snippets 264
16.2.3 其他编辑器/IDE 265
16.3 调试工具 269
第17章Scrat Vue.js的化学反应 271
17.1 浅谈前端工程化 271
17.2 前端工程化怎么做 271
17.3 Scrat简介 273
17.4 Scrat Vue.js实现组件 275
17.5 案例分析 276
17.5.1 准备工作 277
17.5.2 代码实现 279
17.5.3 编译和 284
17.6 总结 287
第18章Vue.js 2.0 288
18.1 API变更 288
18.1.1 全局配置 288
18.1.2 全局API 289
18.1.3 VM选项 290
18.1.4 实例属性 294
18.1.5 实例方法 294
18.1.6 指令 296
18.1.7 特殊元素 297
18.1.8 服务端渲染 297
18.2 Virtual DOM 297
18.2.1 认识Virtual DOM 297
18.2.2 Virtual DOM在Vue.js 2.0中的实现 299
18.3 服务端渲染技术 315
18.3.1 普通服务端渲染 315
18.3.2 流式服务端渲染 320
18.4 总结 326
第19章 源码篇——util 327
19.1 env 327
19.1.1 系统判断 328
19.1.2 属性支持 328
19.1.3 过渡属性 329
19.1.4 nextTick 330
19.1.5 set 332
19.2 dom 332
19.2.1 dom操作 333
19.2.2 属性操作 339
19.2.3 class操作 341
19.2.4 事件操作 343
19.2.5 其他 344
19.3 lang 347
19.3.1 对象操作 347
19.3.2 名称转换 351
19.3.3 数组操作 352
19.3.4 类型转换 352
19.3.5 方法绑定 354
19.3.6 其他 354
19.4 components 357
19.5 options 359
19.6 debug 364
第20章 源码篇——深入响应式原理 365
20.1 如何追踪变化 365
20.1.1 Observer 367
20.1.2 Directive 372
20.1.3 Watcher 382
20.2 变化检测问题 391
20.3 初始化数据 394
20.4 异步更新队列 395
20.5 计算属性的奥秘 398
20.6 总结 402
第21章 源码篇——父子类合并策略 403
21.1 策略是什么 403
21.1.1 生命周期合并策略 403
21.1.2 属性方法计算 405
21.1.3 数据合并策略 406
第22章 源码篇——缓存 409
22.1 Cache有什么用 409
22.2 LRU 410
22.3 Cache类 410
22.4 put 410
22.5 shift 411
22.6 get 412
第23章 源码篇——属性props 413
23.1 流程设计 413
23.2 属性name 415
23.3 coerce 416
23.4 type 验证 416
23.5 default 417
23.6 validator 418
第24章 源码篇——events 419
24.1 events配置是什么 419
24.2 如何配置 419
24.2.1 $emit触发 422
24.2.2 $once 绑定 424
24.2.3 $off删除 425
24.2.4 $dispatch派发 426
24.2.5 $broadcast广播 427
第25章 Webpack 428
25.1 安装 428
25.2 基本使用 429
25.3 命令行 430
25.4 配置文件 430
25.4.1 context 431
25.4.2 entry 431
25.4.3 outpu
Vue.js是一个很令人着迷的前端框架,它既简洁又强大,各方面设计得恰到好处,值得深入学习理解。Vue.js 2.0也提供了Virtual DOM支持,使得它具有跨端渲染能力和更多想象力,未来大有可为。
—— 滴滴出行平台产品中心技术总监杜欢
近几年,前端视图层框架领域百花齐放,Vue.js以其精致的API 、强大的组件化机制、小巧的体积赢得了不少开发者的芳心。在移动端 Web 应用领域,Vue.js已经差不多成为方案。Vue 2.0吸收了其他框架的很多优点,为开发者提供了更多便利。
—— Teambition前端架构师徐飞
Vue.js易于上手、搭建模式简便、模块化编程结构完善等特点,成了众多新一代前端框架中的佼佼者。本书包含了从基础语法、组件化编程到复杂工具使用及2.0版本更新等的内容,值得推荐,也希望越来越多的人开始了解使用 Vue.js。
—— 掘金gold.xitu.io技术社区创始人阴明
在前端框架和库百家争鸣的时代,Vue.js是其中一支新秀,用独特思路来解决前端业务急需解决的问题。本书是一本丰富且的Vue.js书籍。强烈推荐给每一位想要或正在学习 Vue.js 的开发人员。
—— 《图解CSS 3》 作者&W3cplus站长大漠
近年来,前端技术的发展日新月异,各种框架、工具层出不穷,呈现出百花齐放的状态。虽然在一些基本的设计思想方面各种框架不断趋同,但是每一种框架依然保持了自己的特色,希望大家通过这本书能品味出纯正的Vue味儿。
—— Google Angular中国区专职推广大漠穷秋
Vue.js是一个轻量高效的MVVM框架,提供了响应式编程、组件化等强大的能力,配合丰富多彩的生态圈和工具链,可以让你完成非常复杂的前端应用。本书是滴滴公共前端团队多年实践经验的结晶,不仅介绍了Vue在大规模前端项目的应用,还提供了周边工具链如webpack、rollup等相关实践经验,干货满满,不仅适合初学者学习,还为企业的工程化实践提供了丰富的参考
—— 国际站前端工程师姜天意
挺好的,一直都在当当购书,下次还会选择当当
很贵的书籍,技术类书籍网上看比较好,但是喜欢看纸质书,所以买来屯着,还不错,比较系统
性价比比较高
很不错,包装也好。印刷清晰。很喜欢。
收到的时候袋子坏掉了,下次小心点哦
性价比比较高,初学者慢慢看
封页拐角有一消除破损
纸质差,封面就翻了两三次就看起来快折断了,里面的纸质也不好,第一次在当当买书,真是最后一次了
不错,就是总是缺货,还限购78362
快递送到后拆开。书一个角撞烂了一大块
挺厚的一本,慢慢嚼吧!
对于学vue2的朋友来说这本书没啥用
物流非常烂
好好好好好
很好,书中容易理解,非常感谢作者这么用心,不错3不错!
不错不错不错不错
不错 正品 值得买
印刷不错,很清晰。
感觉像二手的
东西不错,
很好的一本书
当当最近送货慢,今天的书更是有严重折页的地方,好像是已经有人看过了的,并且是不爱惜书的人!!
好!好!好!
这是什么质量,还卖九十几,只求一句公道话
很好收获很快
买了四本书只简单包装 拿到快递外面包装都是破的 书还有损坏
感觉一般,现在都2.0了,里面全是1.0的东西,还没有vuex
指令部分有的指令例子讲得看不懂,不知道后面的如何!书籍很厚,希望有收获!
已收到,快递速度蛮快,第二天就到手了,包装还好,下面有点弄脏了,不影响阅读。
有折痕,书邦的位置有开裂,书的内容很好,很喜欢vue.js