- vue2的双向数据绑定原理时
Object.defineProperty
,监听的的是对象的属性,对于深层次的结构需要递归查询,没有proxy性能好
- vue2无法监听数组的变化(当用改变原数组的方法,比如
push,pop,unshift,shift
等,或以下标的形式改变数组),但是vue重写个改变原数组的方法,vue3可以
- vue无法监听对象的增加和删除,需要借助
$set
和$delete
(也可以用于以数组的下标形式改变数组),$set(obj(操作的数组),key(索引),val(修改的值))
|$delete(obj(操作的数组),key(索引),val(修改的值))
,vue3可以