Lazy loaded image
前端
🗒️Object.defineProperty妙用——Vue2数据双向绑定的原理
字数 822阅读时长 3 分钟
2019-9-16
2025-4-4
type
status
date
slug
summary
tags
category
icon
password
上次编辑时间
Apr 4, 2025 02:15 PM
最近看了一下 Vue.js 实现相关的文章,了解到了其数据劫持(双向绑定)的原理,使用到了Object.defineProperty这个方法,花了点时间,自己尝试着做了一个小 demo。 MDN 解释:Object.defineProperty方法会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性, 并返回这个对象。
既然写法一样,为何要大费周折去写那么多呢,其实重点在其getset方法
从这可以看出,我们可以在 get、set 函数中,写出对应的业务逻辑,做一系列我们想做的事情
话不多说,开始做 demo
当我们在输入框输入之后,在控制台输入 obj.name ,会发现值已经与输入框里的值一样
当我们在控制台,给obj.name赋值时,会发现输入框的内容也会作出相应更改
notion image
这样就完成了一个简单的数据双向绑定了!
上一篇
axios获取二进制流并转化生成文件
下一篇
JavaScript实现防抖和节流的方法

评论
Loading...