watchEffect watch 区别
时间: 2023-10-15 11:25:31 浏览: 173
watch和watchEffect是在Vue3.x版本中用来监听数据变化的方法。它们之间有以下区别:
1. 执行时机:watchEffect是立即执行的,在页面加载时会主动执行一次,来收集依赖;而watch是惰性地执行副作用,它不会立即执行,但可以配置immediate选项,使其主动触发。
2. 参数不同:watchEffect只需要传递一个回调函数,不需要传递侦听的数据,它会在页面加载时主动执行一次,来收集依赖;而watch至少要有两个参数(第三个参数是配置项),第一个参数是侦听的数据,第二个参数是回调函数。
3. 结果不同:watchEffect只能获取到更改后的值,无法获取到更改前的值;而watch可以同时获取更改前和更改后的值。
尽管有这些区别,watch和watchEffect在手动停止侦听、清除副作用、刷新时机和调试方面有相同的行为。可以通过将onInvalidate作为第三个参数传递给回调函数来停止侦听和清除副作用。
综上所述,watch和watchEffect是Vue3.x版本中用来监听数据变化的方法,它们的主要区别在于执行时机、参数和结果。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [【vue3】watchEffect和watch 的区别详解](https://blog.csdn.net/qq_38974163/article/details/122689303)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
阅读全文