第1章 Vue.js基础 1
为什么选择Vue.js 1
安装和设置 4
vue-loader和webpack 4
模板(Template)、数据(Data)和指令(Directive) 6
v-if vs v-show 10
模板中的循环 11
属性绑定 13
响应式 15
响应式如何实现 16
注意事项 17
双向数据绑定 19
动态设置HTML 21
方法 22
this 23
计算属性 24
侦听器 27
监听data对象中某个对象的属性 29
获取旧值 29
深度监听 30
过滤器 30
使用ref直接访问元素 33
输入和事件 33
v-on简写 34
事件修饰符 34
生命周期钩子 37
自定义指令 38
钩子函数参数 40
过渡和动画 41
CSS过渡 41
JavaScript动画 44
总结 46
第2章 Vue.js组件 47
组件基础 47
数据、方法和计算属性 48
传递数据 49
Prop验证 50
Prop的大小写 51
响应式 52
数据流和.sync修饰符 53
自定义输入组件与v-model 56
使用插槽(slot)将内容传递给组件 57
默认内容 58
具名插槽 59
作用域插槽 60
自定义事件 62
混入 65
混入对象和组件的合并 67
vue-loader和.vue文件 68
非Prop属性 70
组件和v-for指令 71
总结 74
第3章 使用Vue添加样式 77
Class绑定 77
内联样式绑定 79
数组语法 80
多重值 80
用vue-loader实现Scoped CSS 81
用vue-loader实现CSS Modules 82
预处理器 83
总结 83
第4章 render函数和JSX 85
标签名称 86
数据对象 86
子节点 88
JSX 89
总结 91
第5章 使用vue-router实现客户端路由 93
安装 93
基本用法 94
HTML5 History模式 96
动态路由 97
响应路由变化 98
路由参数作为组件属性传入 100
嵌套路由 101
重定向和别名 103
链接导航 104
tag属性 105
active-class属性 106
原生事件 107
编程式导航 107
导航守卫 108
路由独享守卫 110
组件内部守卫 111
路由顺序 112
404页面 113
路由命名 114
总结 115
第6章 使用vuex实现状态管理 117
安装 118
概念 119
State及其辅助函数 121
State辅助函数 122
Getter 124
Getter辅助函数 126
Mutation 126
Mutation辅助函数 128
Mutation必须是同步函数 128
Action 129
Action辅助函数 130
参数解构 131
Promise与Action 131
Module 132
文件结构 134
带命名空间的模块 135
总结 137
第7章 对Vue组件进行测试 139
测试单个组件 139
介绍vue-test-utils 141
查询DOM 142
挂载选项 143
模拟和存根数据 145
测试事件 146
总结 148
附录A 搭建Vue开发环境 149
附录B Vue与React 153
索引 171