vue3学习(六)watchEffect高级侦听

 watchEffact高级侦听器

立即运行一个函数,同时响应式地追踪其依赖,并在依赖更改时重新执行

import { ref, watchEffect } from 'vue'
const message = ref<string>('悟空')
const message2 = ref<string>('八戒')
watchEffect(() => {
  console.log('message---', message.value)
  console.log('message2---', message2.value)
})

第一个参数就是要运行的副作用函数。这个副作用函数的参数也是一个函数,用来注册清理回调。清理回调会在该副作用下一次执行前被调用,可以用来清理无效的副作用,例如等待中的异步请求 (参见下面的示例)。

就是在触发监听之前会调用一个函数可以处理一些逻辑

const message = ref<string>('悟空')
const message2 = ref<string>('八戒')
watchEffect((onCleanup) => {
  console.log('message---', message.value)
  console.log('message2---', message2.value)
  onCleanup(() => {
    console.log('before')
  })
})

停止侦听

const stop = watchEffect(() => {})

// 当不再需要此侦听器时:
stop()

第二个参数是一个可选的选项,可以用来调整副作用的刷新时机或调试副作用的依赖

flush: "pre" // 组件更新前执行;"sync"强制效果始终同步触发;"post"组件更新后执行

onTrigger  可以帮助我们调试 watchEffect

onTrigger (e){

        debugger

}

const stop = watchEffect((onCleanUp) => {
  console.log('message---', message.value)
  onCleanUp(() => {
    console.log('before')
  })
}, {
  flush: "post",
  onTrigger(e) {
    debugger
  }
})
const stopWatch = () => stop()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值