【无标题】

VUE3学习笔记

Watch监视器在vue3的应用与特性

watch:

import {reactive,ref,watch} from 'vue'
    export default {
        name:"shhs",
        setup(){
            let sum = ref(0),
            let msg = ref('nihaoa'),
            let person = reactive({
                name:'aa',
                age:12,
                job:{}
            })
            watch([sum,msg],(newvalue,oldvalue)=>{
                console.log(newvalue,oldvalue)
            }),
            //watch 监视 reactive 响应式数据时,不能正确获取oldvalue的值,自动开启深度监视

            // watch(person,(newvalue,oldvalue)=>{
            //     console.log(newvalue,oldvalue)
            // }),
             watch([()=>person.name,()=>person.age],(newvalue,oldvalue)=>{
                console.log(newvalue,oldvalue)
            })//正确监视
              watch([()=>person.job,()=>person.age],(newvalue,oldvalue)=>{
                console.log(newvalue,oldvalue)
            },{deep:true})//deep效果生效,因为job是个对象

            return{
                sum,
                msg
            }
        }

总结

当watch监视ref定义的响应式数据时,会自动开启deep深度监听,设置deep:false没有效果,监听时不用在属性后面加value,可以同时监听多个值,用数组包含起来。
当wacth 监听reative所定义的值时,需要在属性后面加.value,然后需要设置deep:true,开启深度监视。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值