watch侦听器

来源:8-11 作业:注册页面的编写

慕盖茨8536808

2020-10-09

watch(() => error.value.status, () => {
      const { status, message } = error.value
      if (status && message) {
        createMessage(message, 'error')
      }
    })

watch函数中第一个参数为什么不能直接写error.value.status,而是要写一个函数返回error.value.status

写回答

1回答

张轩

2020-10-09

同学你好 用了 ts 很好解释,watch 的第一个参数希望十个响应式对象或者是getter fucntion,

export declare type WatchSource<T = any> = Ref<T> | ComputedRef<T> | (() => T)

这样才能能在对应的改变的时候作出对应的操作。

如果不用 getter function,error.value.status 这个东西就是一个普通的 js 值(这里是布尔),是无法监听变化的。

0
1
慕盖茨8536808
非常感谢!
2020-10-10
共1条回复

Vue3 + TS 仿知乎专栏企业级项目

带你完成前后端分离复杂项目,率先掌握 vue3 造轮子技能

3142 学习 · 2313 问题

查看课程