watch和computed区别面试 罗列最重要的10条
时间: 2023-05-17 12:07:31 浏览: 49
1. Watch 是 Vue.js 中的一个 API,用于监听数据的变化并执行相应的回调函数,而 Computed 是一个计算属性,用于根据已有的数据计算出新的数据并返回。
2. Watch 可以监听任意数据的变化,包括对象、数组、函数等,而 Computed 只能监听已有的数据的变化。
3. Watch 的回调函数可以接收到新值和旧值,而 Computed 的计算函数只能返回新值。
4. Watch 的回调函数可以执行任意操作,包括异步操作,而 Computed 的计算函数只能执行同步操作。
5. Watch 的回调函数可以执行多次,每次数据变化都会触发,而 Computed 的计算函数只会在依赖的数据变化时才会触发。
6. Watch 可以监听多个数据的变化,而 Computed 只能依赖一个或多个已有的数据。
7. Watch 可以通过 immediate 选项在组件创建时立即执行回调函数,而 Computed 只能在依赖的数据变化时才会触发计算函数。
8. Watch 可以通过 deep 选项深度监听对象或数组的变化,而 Computed 只能监听已有的数据的变化。
9. Watch 可以通过 handler 选项指定回调函数,而 Computed 只能通过 get 和 set 方法定义计算属性。
10. Watch 可以通过 unwatch 方法取消监听,而 Computed 不能取消依赖的数据。