侦听器(监听器) watch 监听属性
监听属性 watch 作用:监听data|computed数据的改变
使用场景:经常在搜索的时候用到 比如百度搜索 百度翻译 (一个数据影响多个数据 )
计算属性是基于变量的值进行缓存的,只要在它关联的变量值发生变化时计算属性就会重新执行。
而methods 没有缓存,所以每次访问都要重新执行。
计算属性是自动触发,methods是手动触发。
计算属性和watch的区别?
共同点:都是以Vue的依赖追踪机制为基础的,都是希望在依 赖数据发生改变的时候,被依赖的数据根据预先定义好的函 数,发生“自动”的变化。
不同点:
watch擅长处理的场景:一个数据影响多个数据;
computed擅长处理的场景:多个数据变化后得的一个计算结果
虽然 计算属性在大多数情况下更合适,但有时也需要一个自定义 的侦听器,当需要在数据变化时执行异步或开销较大的操作 时,通过侦听器最有用。
总结: 当在模板内使用了复杂逻辑的表达式时,应当使用计算属性。 虽然方法也能实现同样的效果,但是因为计算属性可以基于它们的依赖进行缓存,所以选择计算属性会比方法更优。 当需要在数据变化时执行异步或开销较大的操作时,可以使用 watch。
浙公网安备 33010602011771号