VUE3-计算属性和监听器《五》

news2024/11/23 12:53:53

 目录

一,计算属性

二,监听器


在vue3种,当界面上需要处理一些数据的时候,可以通过计算属性和监听器处理,他们都是对一个属性进行操作的,然后返回数据。

他们的区别是,计算属性,是通过一开始的初始值进行计算,或者调用某一个方法后,进行计算返回的值,而监听器,是根据界面的数据的变化而变化的时候,进行监听后计算返回的值。

一,计算属性

1.建立一个正常运行的程序,然后把下面的代码复制进去

<template>
	<div>
		<h1>{{a}}</h1>
		<h1>{{b}}</h1>
		<h1>{{a}}{{b}}</h1>
		<h2>{{c}}</h2>
	</div>

</template>

<script lang="ts" setup>
	import {
		computed
	} from 'vue';

	const a = '123';
	const b = '456';
	//computed  有些值需要通过计算得到
	const c = computed(() => {
		return a + b
	})
	// watch()
</script>

<style scoped>

</style>

2.效果

我们要实现的效果就是,把a和b的值进行相加计算,然后显示,不过也可以使用插值的方法实现。

3.拓展

第二步说了,可以使用插值的方法实现,但是当值需要计算的时候,有大量的逻辑判断,那么插值方法太复杂了,所以必须使用计算属性进行计算

当我们把a的值的长度改成3时,效果如图所示

当我们把a的值的长度改成大于3时,效果如图所示

代码

<template>
	<div>
		<h1>{{a}}</h1>
		<h1>{{b}}</h1>
		<h1>{{a}}{{b}}</h1>
		<h2>{{c}}</h2>
	</div>

</template>

<script lang="ts" setup>
	import {
		computed
	} from 'vue';

	// const a = '123';
	const a = '1234';
	const b = '456';
	//computed  有些值需要通过计算得到
	const c = computed(() => {
		if (a.length == 3) {
			return a + b + "长度是3"
		} else {
			return a + b + "长度不是3"
		}
	})
	// watch()
</script>

<style scoped>

</style>

二,监听器

1.建立一个正常运行的程序,然后把下面的代码复制进去

当我们输入数据的时候,监听器根据a的值的变化,然后打印日志

<template>
	<input v-model="a" />
</template>

<script lang="ts" setup>
	import {
		watch,
		ref
	} from 'vue';
	const a = ref('')

	//a是监听变量的值,cc是变化后的值
	watch(a, (cc) => {
		console.log(`1个参数:a is ${cc}`)
	})
</script>

<style scoped>

</style>

2.效果

打开浏览器,按F12,然后看控制台的输出数据

每输入一个数字,就会自动打印出日志,就是对a进行监听了,当a变化的时候就打印日志

3.拓展

当方法中,有2个参数的时候

代码:

<template>
	<input v-model="a" />
</template>

<script lang="ts" setup>
	import {
		watch,
		ref
	} from 'vue';
	const a = ref('')

	//a是监听变量的值,cc是变化后的值
	// watch(a, (cc) => {
	// 	console.log(`1个参数:a is ${cc}`)
	// })
	
	//a是监听变量的值,bb是变化前的值,aa是变化后的值
	watch(a, (aa, bb) => {
		console.log(`2个参数:a is ${bb}`)
		console.log(`2个参数:a is ${aa}`)
	})
</script>

<style scoped>

</style>

效果: 

第二个参数bb是变化前的值,第一个参数aa是变化后的值

拓展:

计算属性:多个值的变化,为了得到一个结果,使用计算属性,通过计算得到一个值的结果。

监听器:一个值的变化,会影响多个值(或者处理多个事件),为了观察一个值的变化。

大部分场景使用计算属性,计算属性的性能比监听器的性能高。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/115142.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

20221226英语学习

今日短文 When we are shown two options, our eyes tend to flick from one to the other and back again several times as we deliberate on the pros and cons of each. Researchers at Johns Hopkins University in the US have found that the speed with which our ey…

Hbase是什么?

Hadoop Database简介表结构数据只能读不能改>生成新版本总结简介 永远的百度百科 HBase是一个分布式的、面向列的开源数据库&#xff0c;一个结构化数据的分布式存储系统”。 HBase不同于一般的关系数据库&#xff0c;它是一个适合于非结构化数据存储的数据库。另一个不同的…

过年首秀 - 用python写一个自动生成春联的软件并打包exe

前言 哈喽啊&#xff0c;我亲爱的铁铁们&#xff0c;I am back &#xff01;&#xff01; 别管&#xff0c;我也是阳过的人了&#xff0c;这么久都没有更新&#xff0c;今天就带来个小玩意吧 这不是过完圣诞就要过年了吗 这不得准备准备&#xff0c;春节的表演&#xff1f;…

excel数据处理技巧:组合函数统计产品批号

这是一个看似普通的编号问题&#xff0c;可竟然动用了TEXT和SUMPRODUCT两个重量级的函数共同出手才得以解决。以往遇到的编号问题&#xff0c;大多数都是COUNTIF的拿手好戏&#xff0c;但是今天这个问题COUNTIF完全插不上手&#xff0c;来看看模拟的数据吧。 如图所示&#xff…

「 理财与风险控制|养老系列」你想象中的高端养老社区是什么样?

本文主要介绍为什么养老规划需要考虑养老社区的部分&#xff0c;当前市场上养老社区的各种现状&#xff0c;养老社区从各个角度分类&#xff0c;选择养老社区需要关注的要素以及保险保单能够提供的养老权益是怎样的 文章目录01 为什么要关注养老社区&#xff1f;02 为什么关注高…

QT多窗口编程与文件IO编程

目录 一、消息对话框 QMessageBox&#xff08;掌握&#xff09; 二、常用窗口类&#xff08;掌握&#xff09; 三、主窗口类 QMainWindow&#xff08;重点&#xff09; 四、parent参数&#xff08;掌握&#xff09; 五、窗口传参 5.1 成员函数/构造函数 5.2 信号槽传参 六、事件…

劳动自由——你真的理解马克思说的劳动吗

目录 一、空谈“劳动是一切财富和一切文化的源泉”是错误的 个人理解——剥削与马斯洛需求的满足程度 二、马克思对劳动的定义是什么 三、马克思所说的劳动自由 1、实现劳动自由的实现路径 2、劳动自由的状态 一、空谈“劳动是一切财富和一切文化的源泉”是错误的 空谈所…

ES6 模块化、webpack、@ 代表src目录的设置

文章目录webpackSource Map 代表src目录的设置ES6 模块化要求默认 导出默认导入按需 导出、导入混合使用直接导入 并执行模块中的代码webpack 默认 约定&#xff1a; 自定义 打包的 入口与出口 const path require(path) // 导入node.js中 专门操作路径的模块 module.expor…

从华科到清华这些年,我和焦虑成为朋友

Datawhale干货 作者&#xff1a;赵子一&#xff0c;清华大学&#xff0c;Datawhale成员硕士求职碰壁被今年的求职形势狠狠地“教育”了一番2021年的秋天开启了我读硕士的第三个年头。当时的我还在某家公司做实习生。本来是可以转正的&#xff0c;但是出于各种考虑&#xff0c;我…

C++:STL:常用容器(上):deque容器

1&#xff1a;deque容器的基本概念 功能&#xff1a; 双端数组&#xff0c;可以对头端进行插入和删除操作。 deque 与vector区别 1&#xff1a;vector对于头部的插入删除效率低&#xff0c;数据量越大&#xff0c;效率越低。 2&#xff1a;deque相对而言&#xff0c;对头部的插…

产品第一性原理提升数据转化

小飞象交流会答应自己的事就尽力去做到&#xff0c;要去的地方就努力去抵达。内部交流│18期产品第一性原理提升数据转化data analysis●●●●分享人&#xff1a;永波&#xff08;阿外&#xff09;‍数据分析需要透过现象看本质&#xff0c;先从纷繁复杂的表象中进行抽丝剥茧&…

【HTML】2023跨年烟花代码

*2022年圣诞节到来啦&#xff0c;很高兴这次我们又能一起度过~ &#x1f4c2;文章目录前言效果展示一、夜景烟花绽放动画效果HTML源码2023年(新年)春节倒计时代码源码2023除夕倒计时效果展示源码宇宙星空-效果展示1.源码2.思路3.步骤(js部分)更多干货&#x1f680;前言 时光荏苒…

图像处理:Tiler制作你的专属卡通头像和LOGO(圣诞特别篇)

目录0 前言1 安装与贴图2 算法原理2.1 计算像素频率2.2 计算像素相对距离2.3 计算合适贴图3 配置功能4 使用&#xff1a;以圣诞老人为例0 前言 Tiler是一种使用各种其他较小图像平铺创建新图像的工具&#xff0c;它与其他马赛克工具不同&#xff0c;因为它可以适应多种形状、大…

微信开放平台之第三方平台开发,模板小程序如何提交?

大家好&#xff0c;我是悟空码字 12月25日&#xff0c;天气晴朗&#xff0c;阳光普照&#xff0c;今天是圣诞节。因为疫情影响&#xff0c;小羊人的增多&#xff0c;街上放眼望去&#xff0c;人烟稀少。楼下除了几个十一二岁的小男孩在玩耍&#xff0c;也没有像往日老人悠闲打…

Java --- JUC之线程中断机制

目录 一、什么是中断机制 二、三大中断方法 2.1、如何停止中断运行中的线程&#xff1f; 2.1.1、通过volatile实现线程中断停止 2.1.2、通过AtomicBoolean实现线程中断停止 2.1.3、通过interrupt()实现线程中断停止 2.2、interrupted()方法使用 一、什么是中断机制 一个…

如何定制化Spring Boot Starter,这次我终于学会了

文章目录什么是Spring Boot Starter实现步骤启动器自动配置包总结自定义Starter的实现逻辑Spring Boot Starter官网描述&#xff1a;Spring Boot Starter官方介绍 什么是Spring Boot Starter Starters可以理解为启动器&#xff0c;它包含了一系列可以集成到应用里面的依赖包&…

人工智能:通过Python实现语音合成的案例

今天给大家介绍一下基于百度的AI语音技术SDK实现语音合成的案例&#xff0c;编程语言采用Python&#xff0c;希望对大家能有所帮助&#xff01; 注册百度AI平台应用百度AI开放平台-全球领先的人工智能服务平台 首先登陆自己的百度账户&#xff0c;打开百度的AI开发平台页面 搜索…

python实战——阿里大药房自动化购买药品(selenium)

前言 大家早好、午好、晚好吖 ❤ ~ 我给大家准备了一些资料&#xff0c;包括: 2022最新Python视频教程、Python电子书10个G &#xff08;涵盖基础、爬虫、数据分析、web开发、机器学习、人工智能、面试题&#xff09;、Python学习路线图等等 直接在文末名片自取即可&#x…

循环神经网络-基础篇Basic-RNN

循环神经网络-基础篇Basic-RNN 我们把全连接网络也叫做稠密网络DNN&#xff0c;其中X1到X8是不同样本的特征 而本文介绍的循环神经网络RNN主要处理的是具有序列关系的输入数据&#xff0c;即前面的输入和后面的输入是有关系的。例如天气&#xff0c;股市&#xff0c;金融数据和…

iText如何提取PDF中的数据——1. 总览

作者&#xff1a;CuteXiaoKe 微信公众号&#xff1a;CuteXiaoKe | 原文 最近收到大家很多的私信提问&#xff0c;也是大家比较关心的问题:如果我有一个PDF&#xff0c;我该如何使用iText获取PDF里面的内容呢&#xff0c;比如文本、图片、表格等。iText官方给出了相关的整体解决…