vue 中 watch 可以监听数据属性和计算属性的变化。数据属性包括响应式数据属性(如 count、message),计算属性则由 computed 属性返回(如 fullname)。默认情况下,watch 执行浅度比较,通过设置 deep 选项为 true 可进行深度比较。

Vue 中 watch 可以监听的值
Vue 中的 watch 选项允许开发者侦听组件数据或计算属性的变化,并相应执行回调函数。它可以监听以下类型的值:
数据属性
watch 可以监听组件实例中的任何响应式数据属性。这些属性通常使用 data() 函数定义。例如:
export default {
data() {
return {
count: 0,
message: 'Hello Vue!'
}
},
watch: {
count(newValue, oldValue) {
// 当 count 变化时执行此回调
},
message(newValue, oldValue) {
// 当 message 变化时执行此回调
}
}
}
登录后复制
计算属性
watch 还能够监听由 computed 属性返回的计算值。例如:
export default {
computed: {
fullName() {
return this.firstName + ' ' + this.lastName
}
},
watch: {
fullName(newValue, oldValue) {
// 当 fullName 变化时执行此回调
}
}
}
登录后复制
深度和浅度监听
默认情况下,watch 将执行浅度比较,这意味着它将检查对象引用的变化,而不是检查对象内部属性的变化。要执行深度比较,可以将 deep 选项设置为 true:
export default {
watch: {
user: {
handler(newValue, oldValue) {
// 当 user 对象或其任何属性发生变化时执行此回调
},
deep: true
}
}
}
登录后复制
以上就是vue中的watch都可以监听哪些值的详细内容,更多请关注叮当号网其它相关文章!
文章来自互联网,只做分享使用。发布者:叮当号,转转请注明出处:https://www.dingdanghao.com/article/469176.html
