第三十二篇: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就是获取属性的值。

上一篇:【vue项目问题解决】echars,使用中提示undefined问题及重绘问题


下一篇:(已解决)vue3使用axios报Uncaught TypeError: Cannot convert undefined or null to object axios.js:1308错误