vue3中的watch和computed怎么使用

本篇内容介绍了“vue3中的watch和computed怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

做网站、成都网站设计的开发,更需要了解用户,从用户角度来建设网站,获得较好的用户体验。创新互联建站多年互联网经验,见的多,沟通容易、能帮助客户提出的运营建议。作为成都一家网络公司,打造的就是网站建设产品直销的概念。选择创新互联建站,不只是建站,我们把建站作为产品,不断的更新、完善,让每位来访用户感受到浩方产品的价值服务。

一、watch

1.检测reactive内部数据



注意点:对 reactive 自身的修改则不会触发监听。【相关推荐:vuejs视频教程、web前端开发】



vue3中的watch和computed怎么使用

一定得注意不能修改reactive本身,修改本身不触发

2.监听 ref 数据

  • 2.1监听一个 ref 数据



  • 2.2监听多个 ref 数据

可以通过数组的形式,同时监听 age 和 num 的变化。



vue3中的watch和computed怎么使用

立即触发监听属性:

                {
                    immediate: true,
                }


vue3中的watch和computed怎么使用

开启深度监听 ref 数据

? 问题:修改 ref 对象里面的数据并不会触发监听,说明 ref 并不是默认开启 deep 的。见下


vue3中的watch和computed怎么使用
面对这样的没有触发watch我们解决办法有三个:

  • 解决 1:当然直接修改整个对象的话肯定是会被监听到的(注意模板中对 obj 的修改,相当于修改的是 obj.value)。
    -`

    {{ obj.hobby.eat }}

`

vue3中的watch和computed怎么使用

  • 解决 2:开启深度监听 ref 数据。

watch(
    obj,
    (newValue, oldValue) => {
        console.log(newValue, oldValue)
        console.log(newValue === oldValue)
    },
    {
        deep: true,
    }
)

就加上一句话,故此没有截图

  • 解决 3:还可以通过监听 ref.value 来实现同样的效果。

因为 ref 内部如果包裹对象的话,其实还是借助 reactive 实现的,可以通过 isReactive 方法来证明。



vue3中的watch和computed怎么使用

  • 监听普通数据
    监听响应式对象中的某一个普通属性值,要通过函数返回的方式进行(如果返回的是对象/响应式对象,修改内部的数据需要开启深度监听)。



二、computed

作用:computed 函数用来定义计算属性,上述的基础概念都是同vue2一样的,关于vue2中这两个知识点的定义大家可以移步:【vue2】计算与侦听的用法。


vue3中的watch和computed怎么使用

“vue3中的watch和computed怎么使用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!


当前文章:vue3中的watch和computed怎么使用
文章路径:http://myzitong.com/article/gdjdhs.html