VUE简介

Vue.js的响应式设计受到MVVM模式启发,但不完全遵循。它使用虚拟DOM树、Data的setter和getter以及watcher来实现数据变化到视图更新的自动同步。当数据变化时,watcher会通知组件的渲染函数,进而更新虚拟DOM树,实现高效地视图重绘。

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

vue官网:https://cn.vuejs.org/

vue分为选项式与组合式

  • 选项式: 类似于 React 的类组件

  • 组合式: 类似于 React 的函数组件

vue响应式设计原理

受MVVM设计模式启发,并不完全遵照MVVM设计模式的设计

MVVM设计如下:

参与者:

  • view: 视图层(页面)

  • view model: 视图模型(控制层),是一个用于沟通 view 和 数据 model 的 桥梁,是一个用于控制的对象

  • model: 数据模型

图中的箭头:

  • 双箭头实线 databinding: view 页面发生数据变化会通知 viewmodel 更新数据;viewmodel 内数据发生改变会通知 view 更新视图

  • viewmodel->model实线: 通过控制层能够修改model中的数据

  • model->viewmodel虚线: model数据层为viewmodel提供数

vue的响应式设计如下:

参与者:

  • virtual dom tree(虚拟文档树):vue会创建一个和页面文档树一摸一样的一组虚拟文档树存放在内存中

  • Data的setter和getter:Data 是vue中的一个对象 它包含 getter 和 setter 访问器,本质上是两个方法,用于对数据进行访问和赋值

  • watcher:观察者 监视器,当数据data的setter方法被调用时 或某个依赖数据被访问时 会通知它

  • Component Render Function: 组件的渲染函数

参与者的关系描述:

  • 虚拟文档书 -> Data: 页面需求数据或需要设置数据就访问 Data 中的 getter 或 setter

  • Data -> watcher: data 通过 getter 收集有依赖的数据时或 通过 setter 修改数据时 会通知 watcher

  • watcher -> Component render function: watcher 收到通知后 触发组件的渲染函数

  • component render function -> 虚拟文档树: 重新渲染虚拟文档树

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值