Vue 3.2 父子组件传 ref 数组监听:watch 如何正确使用?

vue 3.2 父子组件传 ref 数组监听:watch 如何正确使用?

关于 vue 3.2 父子组件传 ref 数组监听问题

问题中提到,在使用 ref 定义的父子组件传 ref 数组时,watch 不加箭头函数就无法进入监听。

官方 api 说明指出,watch 的第一个参数可以是 ref 或者一个返回 ref 值的函数。因此,应该将 watch 中的数据源写为:

watch(
  tableData,
  (newVal) => {...},
  { deep: true }
);

需要注意的是,当监听引用对象时,有以下规则:

  • ref 定义的引用对象:

    • 获取当前值:watch 第一个参数直接写成数据源,并加上深拷贝选项(deep: true)
    • 获取当前值和先前值:watch 第一个参数写成 getter 函数,对数据源进行深拷贝
  • reactive 定义的引用对象:

    • 获取当前值:watch 第一个参数直接写成数据源,可以不加深拷贝选项
    • 获取当前值和先前值:watch 第一个参数写成 getter 函数,对数据源进行深拷贝

以上就是Vue 3.2 父子组件传 ref 数组监听:watch 如何正确使用?的详细内容,更多请关注其它相关文章!