首页 > 其他分享 >Vue3之watchEffect函数

Vue3之watchEffect函数

时间:2022-12-27 20:58:28浏览次数:43  
标签:salary 函数 person sum watchEffect Vue3 回调

watchEffect函数

  • watch的套路是:既要指明监视的属性,也要指明监视的回调。

  • watchEffect的套路是:不用指明监视哪个属性,监视的回调中用到哪个属性,那就监视哪个属性。

  • watchEffect有点像computed:

    • 但computed注重的计算出来的值(回调函数的返回值),所以必须要写返回值。
    • 而watchEffect更注重的是过程(回调函数的函数体),所以不用写返回值。

示例:

<template>
    <h2>当前求和为:{{sum}}</h2>
    <button @click="sum++">点我+1</button>
    <hr>
    <h2>当前的信息为:{{msg}}</h2>
    <button @click="msg+='!'">修改信息</button>
    <hr>
    <h2>姓名:{{person.name}}</h2>
    <h2>年龄:{{person.age}}</h2>
    <h2>薪资:{{person.job.j1.salary}}K</h2>
    <button @click="person.name+='~'">修改姓名</button>
    <button @click="person.age++">增长年龄</button>
    <button @click="person.job.j1.salary++">涨薪</button>
</template>

<script>
    import {ref,reactive,watch,watchEffect} from 'vue'
    export default {
        name: 'Demo',
        setup(){
            //数据
            let sum = ref(0)
            let msg = ref('你好啊')
            let person = reactive({
                name:'张三',
                age:18,
                job:{
                    j1:{
                        salary:20
                    }
                }
            })
        // 只要sum ,salary中任意一个的值变了,都会执行这个回调函数
            watchEffect(()=>{
                const x1 = sum.value
                const x2 = person.job.j1.salary
                console.log('watchEffect所指定的回调执行了')
            })

            //返回一个对象(常用)
            return {
                sum,
                msg,
                person
            }
        }
    }
</script>

 

标签:salary,函数,person,sum,watchEffect,Vue3,回调
From: https://www.cnblogs.com/anjingdian/p/17008965.html

相关文章

  • vue3 项目中设置组件name
    在开发vue3项目时,如果使用的是setup语法,那么想要给组件设置name属性。可以通过下面的两种形式。在组件中额外创建一个script脚本,在其中采用选项式api的写法,设置name属性......
  • 11个案例讲透 Python 函数参数
    今天给大家分享一下自己整理的一篇Python参数的内容,内容非常的干,全文通过案例的形式来理解知识点,自认为比网上80%的文章讲的都要明白,如果你是入门不久的python新手,......
  • 用云函数开发掘金钉钉机器人
    前言前段时间看了B站UP主@​​人工智能小黄鸭​​的出的视频,可以利用飞书机器人在线刷题,非常牛逼,行云流水。自从我在稀土掘金社区技术更文以来,每天非常关注文章点赞评论......
  • SQL Server分割函数
       USE[数据库名]GOcreatefunction[dbo].[f_split](@cvarchar(2000),--需要分割的字符串(例如:1,2,3,4,5我|和|你)@splitvarchar(2)--分隔符(例如,......
  • Vue3 企业级优雅实战 - 组件库框架 - 9 实现组件库 cli - 上
    上文搭建了组件库cli的基础架子,实现了创建组件时的用户交互,但遗留了cli/src/command/create-component.ts中的createNewComponent函数,该函数要实现的功能就是上文开......
  • cocos2d-x 通过JNI实现c/c++和Android的java层函数互调
    文章摘要: 本文主要实现两个功能:(1)通过Androidsdk的API得到应用程序的包名(PackageName),然后传递给c++层函数。(2)通过c++函数调用Android的java层函数,显示一个对话框......
  • 生成函数 学习笔记
    定义:数列\(F\)的生成函数为\(F(x)=\sum_{i=0}F[i]x^i\),其中的\(x\)并没有实际意义几何级数定理\[\sum_{i=0}x^i={1\over1-x}\]证明考虑等比数列求和,由于\(......
  • C++11 新特性之Lambda函数(匿名函数)
    声明:本文参考了AlexAllain的文章​​http://www.cprogramming.com/c++11/c++11-lambda-closures.html​​加入了自己的理解,不是简单的翻译C++11终于知道要在语言中加入......
  • vue3传值
    https://blog.csdn.net/H_114/article/details/122420402?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERat......
  • URL分解之InternetCrackUrl函数——就是python的urlparse
    URL分解之InternetCrackUrl函数 背景近期使用WININET库写的一个数据上传、下载的客户端小程序,上传数据到网站服务器和从网站服务器下载数据到本地。由于,对WININET库部......