记录一个vue3.0的提示报错,不影响执行watch(fn, options?)` signature has been moved to a separate API. Use `watchE
watch(fn, options?)` signature has been moved to a separate API. Use `watchEwatch调用前会在非生产环境下判断第二个参数cb是不是一个函数//如果不是则会报警告以告诉用户应该使用watchEffect(fn,options)API...
·
watch(fn, options?)` signature has been moved to a separate API. Use `watchE
Vue.js 2.x
中,通过watch
选项,或者$watch API
去初始化一个侦听器,称作watcher
Vue.js 3.0
使用Composition API
中的watch API
可以实现侦听器的效果
watch API 的具体实现
function watch(source, cb, options) {
if ((process.env.NODE_ENV !== 'production') && !isFunction(cb)) {
warn(`\`watch(fn, options?)\` signature has been moved to a separate API. ` +
`Use \`watchEffect(fn, options?)\` instead. \`watch\` now only ` +
`supports \`watch(source, cb, options?) signature.`)
}
return doWatch(source, cb, options)
}
function doWatch(source, cb, { immediate, deep, flush, onTrack, onTrigger } = EMPTY_OBJ) {
// 标准化 source
// 构造 applyCb 回调函数
// 创建 scheduler 时序执行函数
// 创建 effect 副作用函数
// 返回侦听器销毁函数
}
watch
函数内部调用了doWatch
函数- 调用前会在非生产环境下判断第二个参数
cb
是不是一个函数 - 如果不是则会报警告以告诉用户应该使用
watchEffect(fn, options) API
更多推荐
已为社区贡献1条内容
所有评论(0)