展义工风采,扬义工精神

这个地方显示重要通知,没有内容则自动隐藏

版块 茶后闲聊 贴子详情

精华贴 已锁贴
阿顺 IP:湖北武汉

Vue 的双向数据绑定原理是什么
在Vue2.x中,双向数据绑定是通过 数据劫持 结合 发布订阅模式的方式来实现的,也就是说数据和视图同步,数据发生变化,视图跟着变化,视图变化,数据也随之发生改变。核心:关于VUE双向数据绑定,其核心是 Object.defineProperty()方法。

Vue3.x则是用ES6的语法Proxy对象来实现的。

Object.defineProperty()的缺点:

只能监听对象(Object),不能监听数组的变化,无法触发push, pop, shift, unshift,splice, sort, reverse。
必须遍历对象的每个属性
只能劫持当前对象属性,如果想深度劫持,必须深层遍历嵌套的对象。
Proxy的优点:

Proxy 可以直接监听对象而非属性。
Proxy 可以直接监听数组的变化。
Proxy 有多达 13 种拦截方法,不限于 apply、ownKeys、Property、has 等等是 Object.defineProperty 不具备的。
Proxy 返回的是一个新对象,我们可以只操作新的对象达到目的,而 Object.defineProperty 只能遍历对象属性直接修改。

59 0 0 2023/11/24 16:25:52

用户登录

全部回贴

暂无回贴,快来第一个回贴吧:)
CopyRight © 2022 by 佛友义工团

请输入举报内容(最少10字)