一、 vue3的特性(vue2和vue3的区别)
1使用Proxy代替defineProperty实现数据响应式
2. 重写虚拟DOM的视线和Tree-Shaking
3. Composition API:组合式api
4. 编译器的优化
5. 生命周期
6. 打包大小减少41%
7. 初次渲染快55%,更新渲染快133%
8. 内存减少54%
二、将非响应式数据转换成响应式数据
1、reactive
1. 用于定义引用类型数据(如对象或数组)的响应式
2. 将对象内部所有嵌套属性都转换为响应式的属性
3. 基于ES6的Proxy的基础上实现的
2、ref
4. 用于将数据转换为可响应式的引用对象
5. js中操作数据:xxx.value
三、响应式对象、非响应式对象
1. 响应式对象:逻辑层数据发生改变会影响视图层的变化
2. 非响应式对象:逻辑层数据发生改变不会影响视图层的变化
四、生命周期
1. setup:相当于beforeCreate和created
2. onBeforeMount
3. onMounted
4. onBeforeUpdate
5. onBeforeUnmount
6. onUnmounted
五、provide与inject用在setup.里面
1. provide(‘属性名’,传递的参数)
2. inject('属性名)
vue2和vue3的区别、将非响应式数据转换成响应式数据、响应式对象、非响应式对象、vue3生命周期、provide与inject用在setup.里面
![](https://img-home.csdnimg.cn/images/20240711042549.png)