新書推薦:
《
第二人生:找到重新定义人生的智慧
》
售價:NT$
440.0
《
唐朝三百年
》
售價:NT$
490.0
《
反操纵心理学:夺回人生主导权 拒绝被操纵
》
售價:NT$
249.0
《
同工异曲:跨文化阅读的启示(修订版)(师承钱锺书先生,比较文学入门,体量小但内容丰,案例文笔皆精彩)
》
售價:NT$
199.0
《
牛津立法研究手册
》
售價:NT$
1630.0
《
制度为什么重要:政治科学中的新制度主义(人文社科悦读坊)
》
售價:NT$
290.0
《
梦醒子:一位华北乡居者的人生(1857—1942))(第2版)
》
售價:NT$
340.0
《
啊哈!原来如此(中译本修订版)
》
售價:NT$
290.0
|
編輯推薦: |
前端大腕集体赞誉站台,随着阿里Weex开源,2016可谓Vue.js年!
作为移动端*方案,Vue在React Native和Ionic之外另辟蹊径!
滴滴前端团队潜心研究和实践Vue.js,得到框架作者尤雨溪盛赞!
本书兼容和覆盖新版本Vue.js 2.0特性,同样适用于进阶人群!
|
內容簡介: |
Vue.js是一个用来开发Web界面的前端库。本书致力于普及国内Vue.js技术体系,让更多喜欢前端的人员了解和学习Vue.js。如果你对Vue.js基础知识感兴趣,如果你对源码解析感兴趣,如果你对Vue.js 2.0感兴趣,如果你对主流打包工具感兴趣,如果你对如何实践感兴趣,本书都是一本不容错过的以示例代码为引导、知识涵盖全面的最佳选择。全书一共30章,由浅入深地讲解了Vue.js基本语法及源码解析。主要内容包括数据绑定、指令、表单控件绑定、过滤器、组件、表单验证、服务通信、路由和视图、vue-cli、测试开发和调试、源码解析及主流打包构建工具等。该书内容全面,讲解细致,示例丰富,适用于各层次的开发者。
|
關於作者: |
滴滴出行公共前端团队,主要负责公司级组件库和基础服务建设和前端解决方案。我们喜欢新技术,热衷沉淀和积累。张耀春:公共前端团队负责人,人称“小春”,09 年接触前端,喜欢潜水、赛车和专研新技术。黄轶:前端技术专家,擅长前端自动化、工程化及前端架构,喜欢开源,乐于分享。王静:负责mis 项目开发管理,爱生活、爱冒险、爱挑战,对代码有一丢丢的小洁癖。苏伟:负责MIS系统开发,熟悉Angular、Vue等开发框架,擅长使用工具来提高开发效率。王槿:负责webapp方向的开发,喜欢自己的代码最终呈现在用户面前的感觉。殷献勇:北邮土著,CS 硕士在读。享受编程,热爱前端。期待成为顶级 JavaScript 技术栈工程师。
|
目錄:
|
目 录
第1章 遇见Vue.js1
1.1 MVX模式是什么1
1.1.1 MVC1
1.1.2 MVP2
1.1.3 MVVM3
1.2 Vue.js是什么4
1.2.1 Vue.js与其他框架的区别4
1.2.2 如何使用Vue.js10
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-if15
3.1.2 v-show16
3.1.3 v-else17
3.1.4 v-model18
3.1.5 v-repeat20
3.1.6 v-for29
3.1.7 v-text37
3.1.8 v-html37
3.1.9 v-bind38
3.1.10 v-on39
3.1.11 v-ref40
3.1.12 v-el40
3.1.13 v-pre41
3.1.14 v-cloak41
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 text62
5.1.2 checkbox62
5.1.3 radio63
5.1.4 select63
5.2 值绑定65
5.3 v-model修饰指令66
5.3.1 lazy66
5.3.2 debounce67
5.3.3 number67
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 教你写一个filter78
6.3 源码解析79
6.3.1 管道实现79
6.3.2 过滤器解析80
6.4 常见问题解析80
第7章 Class与Style绑定82
7.1 绑定HTML Class82
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章 Method97
9.1 如何绑定事件97
9.1.1 内联方式97
9.1.2 methods配置98
9.1.3 $events应用99
9.2 如何使用修饰符99
9.2.1 prevent100
9.2.2 stop100
9.2.3 capture100
9.2.4 self100
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-for130
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 校验字段名field158
12.4.2 校验规则定义160
12.5 内置验证规则163
12.5.1 required163
12.5.2 pattern165
12.5.3 minlength165
12.5.4 maxlength166
12.5.5 min167
12.5.6 max167
12.6 与v-model同时使用168
12.7 重置校验结果169
12.8 表单元素169
12.9 各校验状态对应的class172
12.9.1 自定义校验状态class173
12.9.2 在其他元素上使用校验状态class173
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 验证器函数context194
第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 跨域AJAX208
13.1.10 Promise210
13.1.11 url模板211
13.2 vue-async-data212
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-link219
14.3.2 router-view222
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-cli254
15.1 安装254
15.2 基本使用254
15.3 命令257
15.3.1 init257
15.3.2 list257
15.4 模板258
15.4.1 官方模板258
15.4.2 自定义模板258
15.4.3 本地模板259
15.5 不错的工具包259
15.5.1 commander259
15.5.2 download-git-repo259
15.5.3 inquirer259
15.5.4 ora260
第16章 测试开发与调试261
16.1 测试工具261
16.1.1 ESLint261
16.1.2 工具包263
16.2 开发工具264
16.2.1 Vue Syntax Highlight264
16.2.2 Snippets264
16.2.3 其他编辑器IDE265
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.0288
18.1 API变更288
18.1.1 全局配置288
18.1.2 全局API289
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 DOM297
18.2.1 认识Virtual DOM297
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章 源码篇——util327
19.1 env327
19.1.1 系统判断328
19.1.2 属性支持328
19.1.3 过渡属性329
19.1.4 nextTick330
19.1.5 set332
19.2 dom332
19.2.1 dom操作333
19.2.2 属性操作339
19.2.3 class操作341
19.2.4 事件操作343
19.2.5 其他344
19.3 lang347
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 components357
19.5 options359
19.6 debug364
第20章 源码篇——深入响应式原理365
20.1 如何追踪变化365
20.1.1 Observer367
20.1.2 Directive372
20.1.3 Watcher382
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 LRU410
22.3 Cache类410
22.4 put410
22.5 shift411
22.6 get412
第23章 源码篇——属性props413
23.1 流程设计413
23.2 属性name415
23.3 coerce416
23.4 type 验证416
23.5 default417
23.6 validator418
第24章 源码篇——events419
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章 Webpack428
25.1 安装428
25.2 基本使用429
25.3 命令行430
25.4 配置文件430
25.4.1 context431
25.4.2 entry431
25.4.3 outpu
|
內容試閱:
|
推荐序
三年前刚开始写Vue.js的第一个原型的时候,我并没有奢望太多。而今天在我打下这行字的时候,Vue.js在GitHub上已经有超过两万五千颗star,在npm上有超过一百万次的下载,并在全球各地拥有十几万的用户。同时,得益于社区的大力支持,我有幸全职投入Vue.js的开发,以开源作为我的全职工作。
在设计思想上,Vue.js尤为注重上手的学习曲线,这也是Vue.js吸引很多用户的一个重要原因。但随着近年来产品对前端的需求不断提高,前端工程的复杂度也在不断提升。因此,初学者免不了在实际的生产应用中遇到各种文档中难以覆盖的细节问题。
在国内,Vue.js被大量行业领先的科技公司在生产中广泛使用,这其中就包括本书作者小春所就职的滴滴出行。本书包含了大量在实践中总结出的Vue.js使用经验,并且能看出作者对Vue.js的内部实现做了深入的研究,相信能为国内学习Vue.js的开发者们提供有价值的帮助。Vue.js的迅速成长,在很大程度上得益于社区用户与他人分享经验心得的热心。在这里,我也对小春和滴滴公共前端团队为本书付出的心血表示衷心的感谢。
尤雨溪
Vue.js作者
前 言
本书是一本全方位讲解Vue.js,从入门到精通的权威指南。
从本书中你将学到:
?Vue.js基本语法
?Vue.js源码解析
?如何开发一个完整的组件
?如何集成第三方组件
?如果构建和调试一个Vue的项目
?主流打包构建工具的使用
?Vue.js 2.0
?Scrat与Vue.js结合
本书读者对象
本书写给从未使用Vue.js开发项目或想深入了解Vue.js原理的读者,同时也适合热衷于追求新技术、探索新工具的读者。特此声明:本书基础语法讲解基于Vue.js 1.0版本,其中涵盖了与其他版本的比较。我们假设读者已经掌握了HTML和CSS,并且熟悉JavaScript基础知识。
如何阅读本书
如果你从事Web开发工作,之前没有接触过Vue.js,建议从第1章开始仔细阅读,并亲手实践每个章节提供的示例,可以加深理解;如果你已经使用Vue.js开发项目,则可以跳过前面基础知识,直接进入源码解析篇,让我们共同探索Vue.js是如何实现的,以及有哪些值得借鉴学习的知识;如果你想看看Vue.js 2.0都发生了什么转变,请直接进入Vue.js 2.0章节阅读;如果你想了解打包构建工具如何使用,请直接进入工具篇,那里有三款打包工具供选择。希望你阅读愉快。
本书结构
每个章节的开头都会介绍一个概念,帮你了解该章节所讲内容是什么,以便快速了解或准确地找到所关注的内容。
在基础知识讲解中,每一节中都会有大量丰富、详尽的示例,方便你更全面地掌握所讲解的知识。
在章节最后还会附加一些常见问题,帮助你快速解决问题并定位问题所在。
|
|