如何用javascript实现双向数据绑定?
js实现数据双向绑定,需要用到Object.defineProperty()这个对象方法,这是一个比较神奇的方法,它的作用是用于配置对象值的属性,比如:对象的某个属性是否可配置、可读写、可枚举等 。它也是vue框架底层,实现数据双向绑定的核心方法 。重写对象属性的setter、getter用Object.defineProperty()创建一个全局对象obj,并设置一个属性name,然后重写这个属性的get、set方法 。
在设置obj对象name属性值时,set方法会自动调用;在读取obj对象name属性时,get方法会自动调用 。监听文本框数据事件,并更新数据绑定文本框的输入事件,在事件中设置obj对象的name值,此时set方法会自动调用,在set方法中,拦截数据val,把val的值赋给name属性,并更新span元素显示name的值 。
【vue双向数据绑定,浅谈vue的双向数据绑定】运行效果如下:可以看到,对象obj的name属性值,在随着文本框内容的改变而改变 。改变对象属性值,更新文本框显示在set方法中,监听到obj对象name属性值的改变,拦截数据val,把数据更新到文本框中显示 。运行并改变obj的name值,效果如下:可以看到,在控制台中,改变obj的name属性值,左边文本框中的内容也发生了改变,这样,我们就实现了一个简单的,数据双向绑定操作 。
推荐阅读
- typec数据线是什么手机用的,拯救者typec接口干嘛用的
- 坚果手机大爆炸不插数据线成功不了 怎么破
- excel中数据输入错误提醒设置
- 让你彻底了解大数据,大数据应用案例
- 数据挖掘的方法主要有哪些,大数据挖掘
- 如何将excel一行拆分多行并不覆盖下方的数据?职场必备!
- 金杯新快运油耗多少
- 刷机后能恢复手机数据吗,iOS手机数据恢复
- 长安cs75plus2.0t油耗
- 长安75plus真实油耗