浅析Vue2中的数据双向绑定

本文深入探讨Vue2中的数据双向绑定机制,通过Object.defineProperty实现_data的get和set监听,确保数据变化实时反映到视图。同时,利用数据代理简化模板中的属性访问,使得代码更加优雅。而在Vue3中,这一机制已被Proxy取代,提供了更强大的数据处理能力。
摘要由CSDN通过智能技术生成

这里写自定义目录标题


前言:本文是一篇学习日记,仅供参考,如有错误的地方请指正。Vue最大的特点是响应式,数据双向绑定是实现的原理。

Vue2中数据双向绑定的原理

以下图片来源https://www.bilibili.com/video/BV1Zy4y1K7SH?p=8在这里插入图片描述

从图可以发现,黄色框中我们在data中编写了nameaddress两个属性。

流程1

流程1中,Vue将data通过Object.defineProperty进行数据劫持,在vm中生成了_data属性,并带有get和set(如下图所示)。当我们对_data中的属性name或address进行操作时,get或set会监测到并将改操作施加到data中的对应的属性上。至此Vue的双向绑定已经实现了。
在这里插入图片描述

流程2

在流程1中,Vue已经完成了数据的双向绑定了。我们此时已经可以通过如下代码对data中的address进行修改了。


                
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值