vue优点?vue2、vue3响应式比较?
(1)
- 响应式编程
Vue 会自动对页面中某些数据的变化做出响应。通过 MVVM 思想实现数据的双向绑定,让开发者不用再操作 DOM 对象,有更多的时间去思考业务逻辑。
- 组件化开发
Vue 通过组件,把一个单页应用中的各种模块拆分到一个一个单独的组件(component)中,我们只要先在父级应用中写好各种组件标签(占坑),并且在组件标签中写好要传入组件的参数(就像给函数传入参数一样,这个参数叫做组件的属性),然后再分别写好各种组件的实现(填坑),然后整个应用就算做完了。 组件化开发的优点:提高开发效率、方便重复使用、简化调试步骤、提升整个项目的可维护性、便于协同开发。
(2)
Vue2.x 采用数据劫持结合发布订阅模式(PubSub 模式)的方式,通过 Object.defineProperty 来劫持各个属性的 setter、getter,在数据变动时发布消息给订阅者,触发相应的监听回调。
Vue 3.0 中采用了 Proxy.可以拦截整个对象
vue2的缺点:Object.defineProperty()
只是对某个属性进行拦截,只能对对象上已经存在的数据才能监听,新增的属性和删除过的属性没有响应式/无法监控到数组下标/数组长度的变化的变化。