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

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

什么是数据的双向绑定?

50b4e99041a93ac485d46bd289a7ec28.png

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

2706ab4389cacae2cb6cd86399288ada.png

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

实现步骤:

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

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

1.属性介绍

dac62f180ff609a82086d5e423fe9927.png

2.方法介绍

db61dea442165e6e8e5409005278d398.png

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

ee38e1804ca8859c2f953bb7583fd012.png

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

70ebbfcaa2458c7c9089fae12dcb5313.png

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

我是一名前端工程师,欢迎更多小伙伴来和我们一起学习交流,更多知识点击了解更多。如果你们喜欢就留下你们的赞和评论哦

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值