1、兼容区别
稳定版vue2.0兼容IE9+ ,9以下不兼容
Vue3.0兼容IE11+ ,11以下不兼容
2、数据双向绑定区别
Vue2.0 => 一次只能劫持一个属性 也可以劫持多个属性 但是需要for循环
Vue2.0 => 如果在劫持之后再增加一个新的属性 这个属性是没有被劫持的 需要额外的进行劫持操作
Vue3.0 => 可以劫持多个属性,因为Vue3.0通过proxy进行代理,返回的是一个新对象,从而达到目的
3、Vue3.0数据劫持通过proxy代理
Vue3.0 => 通过proxy进行代理 代理过后无论是设置还是获取 都找这个代理对象,他有三个参数 :1、target:代理的目标对象 2、key:属性名 3、value
4、Vue2.0数据劫持通过ES5语法 object.defineProperty
// 数据劫持 具体区别:
// 1、Object.defineProperty
1) 用于监听对象的数据变化
2) 无法监听数组变化(下标,长度)
3) 只能劫持对象的自身属性,动态添加的劫持不到
// 2、Proxy
1) proxy返回的是一个新对象, 可以通过操作返回的新的对象达到目的
2)可以监听到数组变化,也可以监听到动态添加的数据