前端八股文--Vue篇

# Vue 知识大纲

# 一、Vue 基础

# 1.1 Vue 的基本原理

# 1.2 双向数据绑定的原理

# 1.3 MVVM、MVC、MVP 的区别

# 1.4 Computed 和 Watch 的区别

# 1.5 Computed 和 Methods 的区别

# 1.6 v-if 和 v-show 的区别

# 1.7 data 是函数而不是对象的原因

# 1.8 Vue 单页应用与多页应用的区别

# 1.9 对 React 和 Vue 的理解及异同

# 1.10 Vue 的优点

# 1.11 对 SPA 单页面的理解及优缺点

# 1.12 Vue.use 的实现原理

# 1.13 使用 Object.defineProperty () 进行数据劫持的缺点

# 1.14 slot 的定义、作用及原理

# 1.15 保存页面当前状态的方法

# 1.16 常见事件修饰符及其作用

# 1.17 v-if、v-show、v-html 的原理

# 1.18 对 keep-alive 的理解及实现原理,缓存的内容

# 1.19 Vue 中封装的数组方法及页面更新实现

# 1.20 Vue template 到 render 的过程

# 1.21 Vue data 中属性值改变后视图是否立即重新渲染

# 1.22 Vue 监听对象或数组属性变化的方法

# 1.23 Vue 模版编译原理

# 1.24 对 SSR 的理解

# 1.25 Vue 的性能优化方法

# 1.26 MVVM 的优缺点

# 1.27 过滤器的作用及实现方法

# 1.28 v-model 的实现原理及语法糖实际内容

# 1.29 $nextTick 原理及作用

# 1.30 Vue 中给 data 中的对象属性添加新属性的情况及解决方法

# 1.31 简述 mixin、extends 的覆盖逻辑

# 1.32 子组件能否直接改变父组件的数据

# 1.33 assets 和 static 的区别

# 1.34 delete 和 Vue.delete 删除数组的区别

# 1.35 什么是 mixin

# 1.36 template 和 jsx 的区别

# 1.37 Vue 初始化页面闪动问题

# 1.38 v-model 能否用在自定义组件上及使用方法

# 1.39 描述 Vue 自定义指令

# 1.40 Vue 收集依赖的方法

# 1.41 extend 的作用

# 1.42 mixin 和 mixins 的区别

# 二、生命周期

# 2.1 Vue 的生命周期

# 2.2 created 和 mounted 的区别

# 2.3 一般在哪个生命周期请求异步数据

# 2.4 keep-alive 中的生命周期

# 2.5 Vue 子组件和父组件执行顺序

# 三、组件通信

# 3.1 组件通信的方式

(props / $emit、eventBus 事件总线、依赖注入、ref / 、parent / 、 attrs / $listeners)

# 四、路由

# 4.1 路由的 hash 和 history 模式的区别

# 4.2 对前端路由的理解

# 4.3 获取页面 hash 变化的方法

# 4.4 $route 和 $router 的区别

# 4.5 params 和 query 的区别

# 4.6 Vue-Router 的懒加载实现方法

# 4.7 定义动态路由及获取传过来的动态参数的方法

# 4.8 Vue-router 路由钩子在生命周期的体现

# 4.9 Vue-router 跳转和 location.href 的区别

# 4.10 Vue-router 导航守卫有哪些

# 五、Vuex

# 5.1 Vuex 的原理

# 5.2 Vuex 中 action 和 mutation 的区别

# 5.3 Redux 和 Vuex 的区别及共同思想

# 5.4 Vuex 和 localStorage 的区别

# 5.5 为什么要用 Vuex 或者 Redux

# 5.6 Vuex 的属性种类

# 5.7 Vuex 和单纯全局对象的区别

# 5.8 为什么 Vuex 的 mutation 中不能做异步操作

# 5.9 Vuex 的严格模式及开启方法

# 5.10 在组件中批量使用 Vuex 的 getter 属性的方法

# 5.11 在组件中重复使用 Vuex 的 mutation 的方法

# 六、Vue 3.0

# 6.1 Vue 3.0 的更新内容

# 6.2 defineProperty 和 proxy 的区别

# 6.3 Vue 3.0 为什么要用 proxy

# 6.4 Vue 3.0 中的 Vue Composition API

# 6.5 Composition API 与 React Hook 的区别

# 七、虚拟 DOM

# 7.1 对虚拟 DOM 的理解

# 7.2 DIFF 算法的原理

# 7.3 虚拟 DOM 的解析过程

# 7.4 虚拟 DOM 真的比真实 DOM 性能好吗

# 7.5 Vue 中 key 的作用

# 7.6 为什么要用虚拟 DOM

# 7.7 为什么不建议用 index 作为 key