在最近的前端面试中,vue.js的双向数据绑定基本是我必问的。下面我们就一起探究下其原理。
- 原理
Vue.js双向数据绑定的原理主要是通过 Object对象的defineProperty方法,重写data的set和get函数 来实现的。
以下是defineProperty()的语法这个方法的三个参数分别是:1
Object.defineProperty(obj, prop, descriptor)
- obj
要在其上定义属性的对象。 - prop
要定义或修改的属性的名称。 - descriptor
将被定义或修改的属性描述符。
方法相关的就不在这里讨论,详见:
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty