手把手教你如何用JavaScript实现数据双向绑定?

近几年前端技术栈真是发展的太迅速了,从以前的针对dom操作的框架如jquery,ext.js等框架逐步过渡到当前的mvvm模式,让前端开发者将注意力从dom操作逐渐解脱出来,专注于逻辑的实现,个人认为开发效率至少提升了1倍,mvvm模式的一个核心便是数据的双向绑定。

什么是数据的双向绑定?

手把手教你如何用JavaScript实现数据双向绑定?

上面说的是在vue框架中数据双向绑定的应用,个人认为这个特性很赞,是大幅提升开发效率的关键,那如果脱离mvvm的框架,我也想实现这种数据的双向绑定,可不可以实现了,该如何实现了?

用原生js模拟数据双向绑定

实现步骤:

一:用js监听数据的变化并将变化的数据时时的同步到页面

为了实现这个功能我们需要用到js的一个方法Object.defineProperty

1.属性介绍

手把手教你如何用JavaScript实现数据双向绑定?

2.方法介绍
手把手教你如何用JavaScript实现数据双向绑定?

大概的介绍了defineProperty核心的两个方法,看到这里,你就知道可以利用这两个内置方法搞事情了,看下面利用该方法实现数据双向绑定的一个例子

手把手教你如何用JavaScript实现数据双向绑定?

效果如下,当姓名发生变化时后面的输入框中的值也同步发生变化:

手把手教你如何用JavaScript实现数据双向绑定?

小结:虽然对此属性没有太研究,但是感觉还是蛮新鲜的,之前只是用到了mvvm模式带来的便捷却不知道如何去实现,完全么有思路的说,但是小伙伴们,你们看完上述代码,现在心中的疑惑应该会少很多哈,,

如果你依然在编程的世界里迷茫,不知道自己的未来规划,可以加入web前端学习交流圈子:685910553。里面可以与大神一起交流并走出迷茫。新手可免费领取学习资料,看看前辈们是如何在编程的世界里傲然前行不停更新最新的教程和学习方法(详细的前端项目实战教学视频),有想学习web前端的,或是转行,或是大学生,还有工作中想提升自己能力的,正在学习的小伙伴欢迎加入web前端资源分享