vue3是对vue2的改进,是框架更加轻量和定制化,使用组合式api,更加贴近原生和react。
改动:
- vue3中v-if优先级大于v-for
- vue3使用setup(){}组合式api,类似于react的纯函数
- vue3取消了事件修饰符,在子组件中的emit属性中有定义是自定义事件,未定义则是原生事件
- vue3使用ref和reactive创建响应式数据,ref还是使用object.defineprototype(),reactive使用的是new proxy(),new proxy提供了get,set,deleteProto(), 利用反射reflect机制,可以监听到数组下标和未定义属性
- vue3的生命周期没有create,直接包含在setup中,且最先执行,其他生命周期前加on,vue2优先级低于vue3,销毁改为UNmount
- vue3使用toraw可将响应式数据变为基础数据
- vue3使用引入的computed来处理计算属性,使用watch来监听,需要添加监听属性,watch有问题在于无法获取旧节点的值,且默认开启深度监听