响应式变量是什么,为什么需要响应式变量
这里直接引用官网的例子:
let A0 = 1
let A1 = 2
let A2 = A0 + A1
console.log(A2) // 3
A0 = 2
console.log(A2) // 仍然是 3
如上可知,当A0更改了值,A2并不会自动更新。
但是我们期望,无论是A0还是A1更改时,A2都能得到最新的计算值。
为了实现这一效果,我们可以将let A2 = A0 + A1这个计算步骤包装成一个函数,在Vue源码里面这个函数被称为副作用函数,其实也可以称为是A0和A1的订阅者,书写如下effect(() => {A2 = A0 + A1}),A0和A2被称为这个副作用的依赖。换句话说,当任一依赖更改时,都能自动触发副作用执行。