VUE3官方文档写直接给 watch() 传入一个响应式对象,会隐式地创建一个深层侦听器——该回调函数在所有嵌套的变更时都会被触发。但在以下例子中,监听函数并没有被触发。
const testObj = ref({ a: { b: { c: 1 } } });
watch(testObj, () => {
console.log(testObj.value.a.b.c, "testObj.value.a.b.c");
});
setTimeout(() => {
testObj.value.a.b.c = 2;
}, 2000);
经过我的实验,增加{deep:true}则会触发。
可是,传入一个响应式对象不是默认深层次监听的吗?
文档说的是


reactive object
看文档时,如果有些概念不理解可以看英文版的,中文有时反而容易混淆