请问一下,如下代码中当changeData
执行后,未触发watch,是为什么?ps:使用注释的那段代码是能够监听到的。
export default {
name: 'App',
setup() {
const stateRef = reactive<any>({
data: {},
});
// const stateRef = reactive<any>({
// data: {a:0},
// });
const changeData = () => {
stateRef.data.a = Math.random();
};
watch(
() => stateRef,
() => {
console.log(stateRef.data.a);
},
{
deep: true,
},
);
return {
changeData,
};
},
}
下面方法也不行,是为什么呢?
export default {
name: 'App',
setup() {
const stateRef = reactive<any>({
data: {},
});
stateRef.data.a = 0; // 新增此行
const changeData = () => {
stateRef.data.a = Math.random();
};
watch(
() => stateRef,
() => {
console.log(stateRef.data.a);
},
{
deep: true,
},
);
return {
changeData,
};
},
}
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…