vue是一个mvvm框架 即数据双向绑定 即当数据发生变化的时候,视图也就发生变化,当视图发生变化的时候,数据也会跟着同步变化
vue2
是采用数据劫持结合发布者订阅者的模式通过object.defineProperty()来劫持各个属性的setter,getter在数据变动时发布消息给订阅者,触发相应的监听回调来渲染视图,实现数据和视图同步
vue3
在vue3中用proxy代理替换了defineProperty(),Proxy是 ES6 中新增的一个特性,使用proxy的好处是可以直接监听数组的变化