Vue原理1.2 ——响应式及视图更新

本文深入探讨Vue.js的响应式系统,讲解如何通过Object.defineProperty实现响应式和依赖收集。当数据改变时,setter触发更新,Watcher对象更新视图。同时介绍了Virtual DOM的概念,它是JavaScript对象的抽象,用于跨平台的DOM操作。更新视图过程中,patch算法通过diff找出差异,高效地修改真实DOM。

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

// 注:以下资料出自 掘金小册《剖析 Vue.js 内部运行机制》 加上自己的理解以及对部分词汇的注解

响应式

响应式
  当使用new Vue()进行初始化的时候,最为重要的是会通过Object.defineProperty来设置setter与getter函数,来实现【响应式】和【依赖收集】。

关于Object.definePropetry介绍
1、语法
Object.defineProperty(obj, prop, descriptor)
2、参数
obj  要定义属性的对象
prop  要定义或修改的属性的名称或 Symbol 。
descriptor   要定义或修改的属性描述符。

关于descriptor(描述) 
	该方法允许精确地添加或修改对象的属性。
	对象里目前存在的属性描述符有两种主要形式:数据描述符和存取描述符。
	数据描述符是一个具有值的属性,该值可以是可写的,也可以是不可写的。
	存取描述符是由 getter 函数和 setter 函数所描述的属性。
	一个描述符只能是这两者其中之一;不能同时是两者。

它的主要键值:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值