watch 默认只比较引用,同一个对象只改内部字段不会触发回调。
监听 ref 包裹的对象要显式传 deep: true。
监听 reactive 对象本身天然就是深度监听,不用加 deep,但一旦用 getter 写法就退回浅比较。
只为某个字段变化而触发时,写 getter 精确取值最省性能,别拿整个对象做深度监听,大表单上那是实打实的性能损耗。
watch(() => props.form, () => {}, { deep: true })
watch(obj, () => {}) // reactive 对象,天然深度
watch(() => obj.count, (n, o) => {}) // 只关心单个字段,开销最小
watch(src, cb, { immediate: true }) // 首次也执行一次
THE END






暂无评论内容