当前位置: 首页> 科技> 能源 > 教务系统_手机网页翻译_企业qq官网_免费自助建站

教务系统_手机网页翻译_企业qq官网_免费自助建站

时间:2025/7/11 18:17:51来源:https://blog.csdn.net/2401_84715637/article/details/144416031 浏览次数:0次
教务系统_手机网页翻译_企业qq官网_免费自助建站

 往期内容:

《Vue零基础入门教程》合集(完结)

《Vue进阶教程》第一课:什么是组合式API

《Vue进阶教程》第二课:为什么提出组合式API

《Vue进阶教程》第三课:Vue响应式原理

《Vue进阶教程》第四课:reactive()函数详解

《Vue进阶教程》第五课:ref()函数详解(重点)

《Vue进阶教程》第六课:computed()函数详解(上)

《Vue进阶教程》第七课:computed()函数详解(下) 

1) 基本使用

📝侦听器watch()函数

1.参数:

a.侦听的数据源

①可以是引用了响应式对象的副作用函数

②以上类型组成的数组

③响应式对象(ref, reactive, computed)

b.对应的回调: 当数据改变时, 执行的回调函数

c.选项:

①immediate: 创建时立即执行回调

②flush: 设置回调执行的时机

③deep: 当数据是对象, 开启深度侦听

2.作用: 侦听数据源的改变, 当数据源改变时, 重新执行回调

3.返回: unwatch方法

示例1

// 1. 数据源是ref(响应式对象)
const count = ref(0)
watch(count, () => {console.log('count的值改变了:', count.value)
})

示例2

// 2. 数据源是reactive对象(默认是深度侦听)
const stu = reactive({name: 'xiaoming',age: 20,gf: {name: 'xiaomei',city: {name: 'wuhan',},},
})
watch(stu, () => {// 由于这种方式会递归遍历每一层属性, 效率不高, 一般不用console.log('侦听整个reactive对象, 是深度侦听的')
})

由于侦听对象时会递归遍历每一层属性, 效率不高, 一般不用
一般情况下, 需要侦听的往往是某个具体的属性
此时, 我们需要包装一个函数, 在函数中引用该属性. 这个函数也是副作用函数
示例3

错误的写法

// 不能直接这样写. stu.age相当于读取出了具体的值
watch(stu.age, () => {console.log('不会生效')
})

image.png


●对于值类型, 不能直接侦听
●对于对象类型, 依然可用
示例4

正确的写法

// 通过一个副作用函数包装, 在副作用函数中引用需要侦听的属性
watch(() => stu.age,() => {console.log('会生效, 常用')}
)

示例5

// 几乎不用
watch([count, () => stu.age], () => {console.log('侦听的数据源是数组的情况')
})

关键字:教务系统_手机网页翻译_企业qq官网_免费自助建站

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: