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 () {
}
})

相关推荐
nothing_more_than2 小时前
draggable的el-dialog实现对话框标题可以选择
javascript·vue.js·element-plus
小镇程序员3 小时前
vue2 src自定义事件
前端·javascript·vue.js
炒毛豆4 小时前
vue3+echarts+ant design vue实现进度环形图
javascript·vue.js·echarts
AlgorithmAce6 小时前
Live2D嵌入前端页面
前端
nameofworld6 小时前
前端面试笔试(六)
前端·javascript·面试·学习方法·递归回溯
别拿曾经看以后~6 小时前
原生Android调用uniapp项目中的方法
android·vue.js·uni-app
前端fighter6 小时前
js基本数据新增的Symbol到底是啥呢?
前端·javascript·面试
流着口水看上帝6 小时前
JavaScript完整原型链
开发语言·javascript·原型模式
guokanglun6 小时前
JavaScript数据类型判断之Object.prototype.toString.call() 的详解
开发语言·javascript·原型模式
GISer_Jing6 小时前
从0开始分享一个React项目:React-ant-admin
前端·react.js·前端框架