MVVM及Vue 中数据双向绑定实现原理

本文探讨了MVVM模式,详细解释了其核心组成部分:Model、View和ViewModel,以及ViewModel如何作为数据双向绑定的桥梁。接着,深入解析了Vue中数据双向绑定的工作原理,包括使用Object.defineProperty设置getter和setter,以及数据变更时视图和模型间的同步过程。最后,对比介绍了MVC模式,强调其通信的单向性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、MVVM

1、定义

MVVM是Model - View - ViewModel的简写。即模型-视图-视图模型。
① Model:指后端传递的数据,如Object、Array等。
② View:指页面视图。
③ ViewModel:是mvvm模式的核心,是链接model和view的桥梁。它有两个方向:一是将模型转化成视图,即将后端传递的数据转化为所看到的页面。二是将视图转化成模型,即通过DOM事件监听将所看到的页面转化成后端数据。这两个方向都实现的我们称之为数据的双向绑定。(在vue中指vue实例化对象)

2、流程图

在这里插入图片描述

总结:在MVVM模式下,view与model之间是不能直接通信的,它们通过ViewModel来通信,ViewModel通常要实现一个observer观察者,当数据发生变化时,ViewModel能够监听到数据的这种变化,然后通知到对应的视图做自动更新,而当用户操作视图时,ViewModel也能监听到视图的变化,然后通知数据做改动,以此就实现了数据的双向绑定。

二、vue中数据双向绑定原理

1、原理

① 应用MVVM模式
② 使用Object.defineProperty改变对象属性的特征值&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值