Vue中的侦听器 Watch

2023-09-21 14:49:24

侦听器 Watch

:::warning 注意
阅读本章内容之前必须先了解什么是 计算属性 Computed。

相比计算属性,计算属性更适合用来做一些数据加工、过滤等处理。

而侦听器更适合用来监听一个数据是否发生变化(包含 data、props、computed),如果发生变化则触发特定的函数操作。

定义 Watch 侦听器函数时,请不要使用箭头函数。
:::

Vue 提供了一种更通用的方式来观察和响应 Vue 实例上的数据变动。侦听器 Watch 是一个对象,键是需要观察的表达式,值是对应回调函数。有一点需要注意,当你有一些数据需要随着其它数据变动而变动时,你很容易就会滥用 Watch,如有类似这种情况使用 Computed 才是更合适。当需要在数据变化时执行异步或开销较大的操作时,使用 Watch 更合适。Watch 侦听器使用的越多,性能就会越差,所以尽量不要滥用。

基础案例

<template>
    <div class="home">
        <div>{{ _price }}</div>
    </div>
</template>

<script>
export default {
    data() {
        return {
            price: 100.85
        }
    },
    watch: {
        price: function () {
            console.log('我被修改了')
        }
    },
    mounted() {
        setTimeout(() => {
            this.price = 102.85
        }, 1000)
    }
}
</script>

预览效果

在这里插入图片描述

页面渲染 dom 完毕 1 秒 后进行修改了 this.price,触发了侦听器 price 函数,所以在控制台打印了信息。

与计算属性 Computed 区别?

侦听器 Watch 和 计算属性 Computed 是完全独立的功能,虽然有点接近,但是两者没有任何关联的。

以现实生活举例,侦听器 Watch 就像监听我的手机号码,如果我的手机号码变化了,那么就要执行一个函数,这个函数里面执行了告诉我的家人,同事,朋友语句。而计算属性 Computed 是在原来某样东西的基础上进行加工,就像一杯白开水,我觉得不好喝,不满足我的需求,我就要加工,在它的基础上我加入了炼奶,最后成了一杯牛奶。

原文链接:菜园前端

更多推荐

android pcm播放器:有进度条同步、快进、快退、倍速功能

PCM(脉冲编码调制)是一种常见的数字音频编码格式,它代表原始音频数据的一种无损编码方式。以下是关于PCM格式的一些重要信息:定义:PCM是一种脉冲编码调制技术,它将模拟音频信号转换为数字形式,通过对模拟信号进行采样和量化,然后将样本表示为二进制编码来实现。PCM不压缩音频数据,因此每个音频样本都以其原始值表示。采样率

The Rise and Potential of Large Language Model Based Agents: A Survey

本文是LLM系列文章,针对《TheRiseandPotentialofLargeLanguageModelBasedAgents:ASurvey》的翻译。基于大型语言模型的Agent的兴起及其潜力摘要1引言2背景2.1AI代理的起源2.22.33Agent的诞生:基于LLM的Agent构建4实践中的代理:利用人工智能造

河北省2022年职业院校技能大赛高职组“软件测试”赛项竞赛任务书(样卷)

河北省2022年职业院校技能大赛高职组“软件测试”赛项竞赛任务书(样卷)2022年3月一、竞赛时间、内容及成绩组成(一)竞赛时间本次竞赛时间共为5小时,参赛选手自行安排任务进度,休息、饮水、如厕等不设专门用时,统一含在竞赛时间内。(二)竞赛内容本次竞赛考核技能点包括:功能测试计划制定、测试用例设计、测试执行和提交Bug

【ODPS新品发布第1期】DataWorks全新发布:增强分析/数据建模个人版等新能力

阿里云ODPS系列产品以MaxCompute、DataWorks、Hologres为核心,致力于解决用户多元化数据的计算需求问题,实现存储、调度、元数据管理上的一体化架构融合,支撑交通、金融、科研、等多场景数据的高效处理,是目前国内最早自研、应用最为广泛的一体化大数据平台。DataWorks新重点能力介绍新产品-Dat

docker报错Error response from daemon: Container xxx is not running

1.问题在移植了docker后,执行了sudodockerrun--namemyrosort-p80:80-drosort指令运行名为myrosort的容器,通过sudodockerps-a也可以看到确实运行了(base)neousys@neousys-Nuvo-5000:~/wqw/docker/20230915$s

MySQL 索引(一)

1.数据访问方式在MySQL中,通常有两种方式访问数据库表的行数据:顺序访问和索引访问。1.1.顺序访问顺序访问是在表中实行全表扫描,从头到尾逐行遍历,直到在无序的行数据中找到符合条件的目标数据。实现比较简单,但是当表中有大量数据的时候,效率非常低下。1.2.索引访问索引访问是通过遍历索引来直接访问表中记录行的方式。索

简单的手机电脑无线传输方案@固定android生成ftp的IP地址(android@windows)

文章目录abstractwindows浏览android文件环境准备客户端软件无线网络链接步骤其他方法手机浏览电脑文件公网局域网everythingpythonhttp.server高级:固定android设备IP准备检查模块是否生效windows访问ftp服务器快捷方式命令行方式双击启动方式普通快捷方式映射新的网络位

[TI] [Textual Inversion] An image is worth an word

自己的理解:根据几个图像,找出来一个关键字可以代表它们,然后我们可以再用这个关键字去生成新的东西。提出关键字1Introductionword->token->embeddingTextualInversion过程需要:①afixed,pre-trainedtext-to-imagemodel(一个固定的预训练模型)②

网络安全(黑客)自学

前言我是去年8月22日才正式学习网络安全的,因为在国营单位工作了4年,在广东一个月工资只有5000块,而且看不到任何晋升的希望,如果想要往上走,那背后就一定要有关系才行。而且国营单位的气氛是你干的多了,领导觉得你有野心,你干的不多,领导却觉得你这个人不错。我才24周岁,实在的受不了这种工作氛围,情绪已经压制了很多久,一

Java版本spring cloud + spring boot企业电子招投标系统源代码

项目说明随着公司的快速发展,企业人员和经营规模不断壮大,公司对内部招采管理的提升提出了更高的要求。在企业里建立一个公平、公开、公正的采购环境,最大限度控制采购成本至关重要。符合国家电子招投标法律法规及相关规范,以及审计监督要求;通过电子化平台提高招投标工作的公开性和透明性;通过电子化招投标,使得招标采购的质量更高、速度

竞赛选题 基于深度学习的动物识别 - 卷积神经网络 机器视觉 图像识别

文章目录0前言1背景2算法原理2.1动物识别方法概况2.2常用的网络模型2.2.1B-CNN2.2.2SSD3SSD动物目标检测流程4实现效果5部分相关代码5.1数据预处理5.2构建卷积神经网络5.3tensorflow计算图可视化5.4网络模型训练5.5对猫狗图像进行2分类6最后0前言🔥优质竞赛项目系列,今天要分享

热文推荐