Vue 3 学习笔记
Vue 3 的文档已经有中文版,内容很详细,也有 Vue 2 迁移 Vue 3 的指南。因此这里只记录下自己用到的部分新特性和自己的一些理解。
Vue 3 数据响应式
Vue 2 的数据响应式底层实现是 Object.defineProperty()
,对于数组则是拦截了数组的七个方法。这种方式存在的问题是对于对象没有办法检测到属性的添加或删除。对于基于数组索引的变化也不能检测到。
Vue 3 的数据响应式基于 ES6 的 Proxy 实现的,和 Mobx 6 相同。解决了上面提到的问题
Proxy 可以实现直接监听对象而非属性,所以对象的属性新增和删除也可以被监听
Proxy 可以直接监听数组的变化。因此数组直接修改下标对应的内容或长度也可以被监听