1.引入watch
import {ref,watch,reactive } from "vue";
2.场景
(1)基本数据类型
export default {
setup() {
const count = ref(0);
watch(count, (newValue, preValue) => {
console.log("count修改了", newValue, preValue);
});
return {
count
};
},
};
export default {
setup() {
const count = ref(0);
const msg = ref("你说");
watch([count, msg], (newValue, preValue) => {
console.log("count/msg修改了", newValue, preValue);
});
return {
count,
msg,
};
},
};
(1)引用数据类型
export default {
setup() {
const person = reactive(
age:30,
name:'你是',
job:{
name:'nishi',
age:18
}
)
watch(()=>person.age,(newValue, preValue) => {
console.log("person.age修改了", newValue, preValue);
});
return {
person
};
},
};
export default {
setup() {
const person = reactive(
age:30,
name:'你是',
job:{
name:'nishi',
age:18
}
)
watch([()=>person.age,()=>person.name],(newValue, preValue) => {
console.log("person.age/person.name修改了", newValue, preValue);
});
return {
person
};
},
};
export default {
setup() {
const person = reactive(
age:30,
job:{
name:'nishi',
age:18
}
)
watch(person, (newValue, preValue) => {
console.log("person修改了", newValue, preValue);
},{deep:true});
return {
person
};
},
};
export default {
setup() {
const person = reactive(
age:30,
job:{
name:'nishi',
age:18
}
)
watch(()=>person.job, (newValue, preValue) => {
console.log("person.job修改了", newValue, preValue);
},{deep:true});
return {
person
};
},
};