1.面试流程
2.兄弟传值 eventbus 不建议使用
3.vue 生命周期排序
父组件和子组件: 初始化是由外到内,渲染显示是由内到外的
4.MVVM
不需要太频繁操作DOM,只要修改Model数据即可去驱动视图不需要去操作Dom, View:视图层 模板 Model: 模型data数据 ViewModel :View和Model连接的事件和监听 首先通过View事件监听Model 修改data
最好加上mvvm就是 model viewModel view三块,每块做什么工作的,然后解决了这个问题 主要是代码冗余 还有就是麻烦 所以MVVM就提供了 不需要做太多dom操作,只要实现业务上的逻辑即可 以前写jquery,我修改一个data 要document.getElement('text').innerHTML()这样去做 每操作一次dom,页面就需要重新布局重构 你写了100个document,页面重构重新布局100次
既然每次修改dom都会耗费性能,但是vm是怎么解决这个问题的 那解决这个问题就是创建一个虚拟dom树,然后跟真实的dom树进行比对,我修改了name age date三个数据,实际上只是修改了虚拟dom 然后比对发现只有这三个地方修改了,就只会一次性的去修改这三个地方 而不是分三次去挨个修改.
因为v-for key是惟一的,主要为了性能优化 不然虚拟Dom和真实Dom没发比较 是唯一的比较如果被修改就会一次性的做逻辑修改就会操作Dom ,没有被修改的就不做逻辑处理
5.v-model
6.$nextTick
vue是异步渲染 nextTick
7.作用域插槽 slot 和匿名插槽
8.异步组件 什么时候用到才渲染 优化避免卡白内存体积小
9.keep-alive 做缓存
10.mixin
10.VUEX
11.Object.defineProperty 监听data变换
Object.defineProperty深度监听对象 数组
12.VDOM (重要)
vdom真实DOM和虚拟DOM做比较,得出最小更新范围,需要更新就更新,不需要就不用更新,在数据驱动视图下有效控制Dom操作。
13.diff算法
14.模板编译
15.组件渲染和更新
16.异步渲染
17.路由原理
18.原理总结
19.Vue 真题演练模拟面试
定义vue文件是一个class是一个类,每个地方去使用这个组件的时候,是对这个类做了一个实例化
20.vue3
//vue3和vue2对比
//响应式对比Object.defineProperty 和 Proxy
//watch 和 watchEffect
//vue3 比vue2快
//vite 打包快开发环境
// script-setup vue3 3.2.0版本以上使用
//面试技巧
//项目流程
二.工作技巧 1.函数挂载组件
2.上传文件
3.插槽使用 作用域插槽
4.render 使用
函数挂载 改写render使用。
替代template模板
JSX 使用
JSX 函数组件
Vue slots