请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

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

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

添加回答

已采纳回答

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

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

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

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

2020-10-09 18:18:05

Vue3.0(正式版) + TS 仿知乎专栏企业级项目

难度中级
时长17小时
人数936
好评度98.5%

Vue3.0 全家桶+TS ,带你完成前后端分离复杂项目,率先掌握vue3.0造轮子技能

讲师

张轩 Web前端工程师

曾在Apple、百度担任高级前端开发工程师,是《React全栈:Redux Flux webpack Babel整合开发》该书作者,拥有丰富的Web开发经验,喜欢追寻新技术,同时致力于前端工程化,并且有大型SPA项目的架构及开发经验。

意见反馈 帮助中心 APP下载
官方微信