您的位置:首页 > 教育 > 锐评 > Vue3中监听器watchEffect的使用

Vue3中监听器watchEffect的使用

2024/10/5 18:25:07 来源:https://blog.csdn.net/weixin_49352307/article/details/142313390  浏览:    关键词:Vue3中监听器watchEffect的使用

 总结代码:

一进页面就开始监听

<template><div>数量——{{ count }}</div><div>姓名——{{ nickname }}</div><button @click="changecount">+</button><button @click="changenickname">改名</button><div>姓名:{{ userInfo.name }}</div><div>年龄:{{ userInfo.age }}</div><button @click="changeusername">改对象名</button><button @click="changeuserage">改年龄</button><button @click="stop()">停止监听</button>
</template>
<script setup>
import { ref, watch, watchEffect } from 'vue';
const count = ref(0) //数量
const nickname = ref('张三')//姓名
// 对象
const userInfo = ref({name: 'zs',age: 18
})
// 改数量
const changecount = () => {count.value++
}
// 改姓名
const changenickname = () => {nickname.value = '李四'
}
// 改对象姓名
const changeusername = () => {userInfo.value.name = '李四'
}
// 改对象年龄
const changeuserage = () => {userInfo.value.age = '20'
}// 使用watchEffect监听 一进页面就监听 
const stop = watchEffect(() => {console.log('数量:', count.value);console.log('姓名:', nickname.value);console.log('对象单个数据:', userInfo.value.name);console.log('整个对象变化:', JSON.stringify(userInfo.value));oninvalidata(() => {console.log('监听前处理一些事情');})
});
</script>

获取监听dom元素

 <div ref="numcom">数量——{{ count }}</div>

 使用flush获取dom元素 post:dom加载完获取

// 使用watchEffect监听 
const stop = watchEffect((oninvalidata) => {console.log(numcom.value);oninvalidata(() => {console.log('监听前处理一些事情');})
}, {flush: 'post'
});

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com