vue3的watchEffect函数

<template>
  <h1>我是watchEffect</h1>
  <p>名称:{{ data.name }}</p>
  <p>年龄:{{ data.age }}</p>
  <p>薪资:{{ data.job.salary }}k</p>
  <p>职位:{{ data.job.position }}</p>
  <button @click="data.job.salary += 10">涨薪1万</button>
  <div style="margin-bottom: 100px"></div>
</template>

watchEffect函数
1.watchEffect函数中用到哪个属性就监听哪个属性的变化
2.watchEffect函数和computed对比:
computed注重返回结果,需要返回值
watchEffect注重过程,不需要返回值
3.里面的属性改变时候就会重新执行watchEffect函数
4.watchEffect函数支持取消异步api的请求

const stop = watchEffect(() => {
      // 异步api调用,返回一个操作对象
      const apiCancel = apiRequest(props.userID)
      onInvalidate(() => {
        // 取消异步api的调用。
        apiCancel.cancel()
      })
    })

5.停止watchEffect监听
执行stop()

用法示例

<script>
import { reactive } from "@vue/reactivity";
import { watchEffect } from "@vue/runtime-core";
export default {
  setup() {
    const data = reactive({
      name: "测试vue3",
      age: 4,
      job: {
        salary: 30,
        position: "资深前端工程师",
      },
    });
  
    watchEffect(() => {
      data.name = "我叫李白";
      console.log("哈哈哈999", data.job.salary);
    });

    return { data };
  },
};
</script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

追逐梦想之路_随笔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值