首页 > 试题广场 >

vue双向绑定原理

[问答题]
简单来说双向绑定其实就是单向绑定的基础上再加一个onchange或者oninput事件,并在事件中将新值更新到data的变量中,这个过程会调用访问器属性set来更改数据
发表于 2022-02-23 13:43:49 回复(0)

<p>VUE的双向绑定通过数据劫持结合发布者-订阅者模式的方式来实现,利用object.defineProperty()重写对象的set方法和get方法。通过这两种方法对data中的数据进行监控,当修改数据值时,触发set;当访问数据值时,触发get。监控数据变化是为了更新页面,更新变化数据对应的DOM节点</p>

编辑于 2020-04-28 14:31:20 回复(0)
- 双向绑定原理:defineProperty 
 - set - get - Vue
内部会把data中的数据通过defineProperty方法转化为set和get的监控方式 - 当data中的数据发生变化时,会触发对应的set或者get - 修改属性值的时候,触发set方法 - 访问属性值的时候,触发get方法
 - 监控数据变化的目的还是为了更新页面(仅仅更新数据变化对应的DOM节点:尽可能少的更新DOM) 
- 完成上述要求需要底层虚拟DOM的支持 
- 如何理解虚拟DOM? 
- 虚拟DOM是对真实DOM的一种描述
发表于 2019-10-30 15:39:29 回复(0)

在数据渲染时使用prop渲染数据,将prop绑定到子组件自身的数据上,修改数据时更新自身数据来替代prop,watch子组件自身数据的改变,触发事件通知父组件更改绑定到prop的数据。

发表于 2020-03-27 14:42:50 回复(0)