vue+ts 第八章(认识watchEffect高级侦听器)

watchEffect

立即执行传入的一个函数,同时响应式追踪其依赖,并在其依赖变更时重新运行该函数。

如果用到message 就只会监听message 就是用到几个监听几个 而且是非惰性 会默认调用一次

let message = ref<string>('')

let message2 = ref<string>('')

watchEffect(() => {

//console.log('message', message.value);

console.log('message2', message2.value);

})

清除副作用

就是在触发监听之前会调用一个函数可以处理你的逻辑例如防抖

import { watchEffect, ref } from 'vue'

let message = ref<string>('')

let message2 = ref<string>('')

watchEffect((oninvalidate) => {

//console.log('message', message.value);

oninvalidate(()=>{

})

console.log('message2', message2.value);

})

停止跟踪 watchEffect 返回一个函数 调用之后将停止更新

const stop = watchEffect((oninvalidate) => {

//console.log('message', message.value);

oninvalidate(()=>{

})

console.log('message2', message2.value);

},{

flush:"post",

onTrigger () {

}

})

stop()

更多的配置项

副作用刷新时机 flush 一般使用post
pre sync post
更新时机 组件更新前执行 强制效果始终同步触发 组件更新后执行

onTrigger 可以帮助我们调试 watchEffect

import { watchEffect, ref } from 'vue'
let message = ref<string>('')
let message2 = ref<string>('')
watchEffect((oninvalidate) => {
//console.log('message', message.value);
oninvalidate(()=>{
})
console.log('message2', message2.value);
},{
flush:"post",
onTrigger () {
}
})

相关推荐
幼儿园技术家12 分钟前
嵌套 H5 的跨端通信:iOS / Android / 小程序 / 浏览器
前端·js or ts
冰暮流星20 分钟前
javascript之dom访问属性
开发语言·javascript·dubbo
一只小阿乐23 分钟前
TypeScript中的React开发
前端·javascript·typescript·react
用户97141718142727 分钟前
vite项目开发环境启动白屏
前端
Highcharts.js27 分钟前
Highcharts客户端导出使用文档说明|图表导出模块讲解
前端·javascript·pdf·highcharts·图表导出
上山打牛31 分钟前
cornerstone3D 通过二进制渲染影像
前端
华仔啊31 分钟前
GitHub 25k Star!这款开源录屏工具,免费无水印可商用,彻底告别付费
javascript
一只小阿乐36 分钟前
react路由中使用context
前端·javascript·react.js·context 上下文
Hilaku36 分钟前
一周狂揽40K+ Star⭐ 的 Pretext 到底有多变态?
前端·javascript·html
前端郭德纲37 分钟前
JavaScript 原型相关属性详解
开发语言·javascript·原型模式