1.vue3用的proxy配合Reflect(get、set、deleteProperty)实现的数据双向绑定,解决了vue2 defineproperty中直接设置数组某一项值,或者直接设置对象的某个属性值,界面未更新的问题 2.有ref出来基本数据类型,reactive处理对象数据类型,实现双向绑定 3.组件中用到的数据、方法均配置在setup中,setup在beforeCreate之前执行一次,this是undefined 4.新增watchEffect,回调中用到哪个属性,监视哪个属性 5.beforeDestroy、destroyed变成onBeforeUnmount、onUnmounted,给vue2生命周期前面加on 6.自定义hook函数替代mixin(export default暴露,import来引入) 7.ref可以将响应式数据中某个对象return出去,torefs可以将响应式数据中多个对象return出去 8.shallowReactive、shallowRef,shallowReactive只给对象最外层加响应式,shallowRef传入基本类型和ref没区别,传入对象类型不做响应式处理 9.readonly、shallowReadonly,readonly让响应式数据变为只读的,shallowReadonly若响应式数据为多层对象,只让第一层为只读的 10.toRaw和markRaw,toRaw将响应式对象变成普通对象,markRow标记一个对象,使其永远不会变成响应式对象 11.customRef,自定义ref,里面有set,get能自定义方法 12.provide和inject,父组件和后代组件传递数据,父组件用provide提供数据,后代组件用inject接收数据 13.isRef、isReactive、isReadonly、isProxy,前三个判断一个对象是否由is后面的创建的,第四个判断对象里面有没有使用proxy封装 14.组合式API,让相关功能的代码组织在一起 15.因为用了Fragment,所有不需要根标签 16.Suspense,异步组件引入时,用default和fallback设置子组件渲染等待时的界面 17.将Vue.config、Vue.use变为app.config、app.use 18.data选项默认是一个函数 19.移除过滤器