第三十二篇:vue的响应式原理
好家伙
什么是响应式?
比较官方的回答:
Vue.js 的核心包括一套“响应式系统”。 “响应式”,是指当数据改变后,Vue 会通知到使用该数据的代码。
例如,视图渲染中使用了数据,数据改变后,视图也会自动更新。
2.1 Object.defineProperty
Object.defineProperty(obj, prop, descriptor)
obj
- 要定义属性的对象。
prop
- 要定义或修改的属性的名称或
Symbol
。 - 妙啊,官方文档就是好用啊
get
属性的 getter 函数,如果没有 getter,则为undefined
。- 当访问该属性时,会调用此函数。执行时不传入任何参数,但是会传入
this
对象(由于继承关系,这里的this
并不一定是定义该属性的对象)。 - 该函数的返回值会被用作属性的值。
默认为undefined
。 set
属性的 setter 函数,如果没有 setter,则为undefined
。- 当属性值被修改时,会调用此函数。该方法接受一个参数(也就是被赋予的新值),会传入赋值时的
this
对象。 - 默认为
undefined
。
这个方法就是!>在一个对象上定义一个新的属性,2.或者改变一个对象现有的属性,并且返回这个对象。
里面有两个字段 set,get。
顾名思义,set都是取设置属性的值,而get就是获取属性的值。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具