vue响应式原理(数据双向绑定)

本文详细介绍了Vue的响应式原理,探讨数据双向绑定的概念,通过数据层(Model)、视图层(View)和业务逻辑层(ViewModel)阐述其工作方式,特别是ViewModel的两个核心功能:数据更新视图变化和视图变化数据更新。同时,概述了实现数据双向绑定的过程,包括Observer、Compiler和Watcher的角色,以及Dep如何协调数据变化和视图更新。
摘要由CSDN通过智能技术生成

一、什么是数据双向绑定?

简单理解:我们先从单向绑定切入单向绑定非常简单,就是把 Model (数据)绑定到 View (页面),当我们用 JavaScript 代码更 新 Model 时, View 就会自动更新双向绑定就很容易联想到了,在单向绑定的基础上,用户更新了 View , Model 的数据也自动被更新了,例如当用户填写表单时, View 的状态就被更新了,如果此时可以自动更新 Model 的状态,那就相当于我们 把Model 和 View 做了双向绑定。

二、数据双向绑定的原理是什么?

我们知道vue参考了mvvm的设计模式,数据双向绑定主要就是靠这三个部分来实现的。

数据层(Model):应用的数据及业务逻辑

视图层(View):应用的展示效果,各类UI组件

业务逻辑层(ViewModel):框架封装的核心,它负责将数据与视图关联起来。

ViewModel主要提供了两个方向:

1、model和view的数据双向绑定,数据更新视图变化(v-bind)。

2、dom的事监听,视图变化数据更新(v-on)。

ViewModel的主要组成两部分:

监听器(Observer):对所有数据的属性进行监听

解析器(Compiler):对每个元素节点的指令进行扫描跟解析,根据指令模板替换数据,以及

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值