小编推荐:Fundebug提供JS错误监控、微信小程序错误监控、微信小游戏错误监控,Node.j错误监控和Java错误监控。真的是一个很好用的错误监控费服务,众多大佬公司都在使用。
近几年前端技术栈真是发展的太迅速了,从以前的针对dom操作的框架如jquery,ext.js等框架逐步过渡到当前的mvvm模式,让前端开发者将注意力从dom操作逐渐解脱出来,专注于逻辑的实现,个人认为开发效率至少提升了1倍,mvvm模式的一个核心便是数据的双向绑定。
什么是数据的双向绑定?
双向数据绑定
上面说的是在vue框架中数据双向绑定的应用,个人认为这个特性很赞,是大幅提升开发效率的关键,那如果脱离mvvm的框架,我也想实现这种数据的双向绑定,可不可以实现了,该如何实现了?
用原生js模拟数据双向绑定
为了实现这个功能我们需要用到js的一个方法Object.defineProperty
1. 属性介绍
属性介绍
2. 方法介绍
方法介绍
大概的介绍了defineProperty核心的两个方法,看到这里,你就知道可以利用这两个内置方法搞事情了,看下面利用该方法实现数据双向绑定的一个例子
例子
效果如下,当姓名发生变化时后面的输入框中的值也同步发生变化: