【Vue3】学习computed计算属性

💗💗💗欢迎来到我的博客,你将找到有关如何使用技术解决问题的文章,也会找到某个技术的学习路线。无论你是何种职业,我都希望我的博客对你有所帮助。最后不要忘记订阅我的博客以获取最新文章,也欢迎在文章下方留下你的评论和反馈。我期待着与你分享知识、互相学习和建立一个积极的社区。谢谢你的光临,让我们一起踏上这个知识之旅!
请添加图片描述

文章目录

  • 🍀何为计算属性computed
  • 🍀介绍计算属性computed
  • 🍀计算属性computed的优势
  • 🍀总结

🍀何为计算属性computed

在Vue中,计算属性computed是一种便捷的方式来声明基于其他属性计算的属性。它的特点是:基于它们的依赖进行缓存,只有在相关依赖发生改变时才会重新计算。这样可以避免不必要的计算,提高应用程序的性能。


🍀介绍计算属性computed

首先我们准备一下本节需要的案例,我们的目的是将姓和名,合二为一显示在span标签

<template><div class="person">姓:<input type="text" > <br>名:<input type="text" > <br>全名:<span>***</span> <br>
</div></template><script lang="ts" setup name="Person11"></script><style scoped>.person {background-color: skyblue;box-shadow: 0 0 10px;border-radius: 10px;padding: 20px;}button {margin: 0 5px;}</style>

运行结果如下
在这里插入图片描述
接下来我们补全一下数据,这里使用ref作为响应对象

 <script lang="ts" setup name="Person11">import {ref} from 'vue'let firstName = ref('zhang')let lastName = ref('san')</script>

接下来我们引入一个知识点v-model

使用v-model指令可以简化表单数据的处理,使得开发者无需手动监听表单控件的变化事件并更新数据,而是直接通过绑定数据的方式实现数据的双向绑定,提高了开发效率和代码可维护性。

同时我们在span标签中加入这两个数数据

  <div class="person">姓:<input type="text" v-model="firstName"> <br>名:<input type="text" v-model="lastName"> <br>全名:<span>{{ firstName }}{{ lastName }}</span> <br>
</div>

运行结果

在这里插入图片描述
其实结果就是我们之前想要的,但是这并不使用大部分情况,因为如果做改动的话,过于麻烦,不便于维护,所以我们引入了本节的知识点,接下来我们上正菜~


首先我们介绍一下语法
下面这是导入

 import {ref,computed} from 'vue'

接下来我们定义一下计算属性fullName

let fullName = computed(()=>{return firstName.value.slice(0,1).toUpperCase() + firstName.value.slice(1) + '-' + lastName.value})

并且别忘了这里改一下

全名:<span>{{ fullName }}</span> <br>

运行结果
在这里插入图片描述
前面定义的计算属性是只读了,如果问为啥,我解释一下,那是因为之前我们是通过修改姓和名,之后这个值传到了fullName,而并不是对fullName直接修改。接下来我们定义一个按钮,同时添加一个方法

<template><div class="person">姓:<input type="text" v-model="firstName"> <br>名:<input type="text" v-model="lastName"> <br>全名:<span>{{ fullName }}</span> <br><button @click="changeFullName">将全名改为馒头</button> <br>
</div></template><script lang="ts" setup name="Person11">import {ref,computed} from 'vue'let firstName = ref('李')let lastName = ref('小馒')let fullName = computed(()=>{return firstName.value.slice(0,1).toUpperCase() + firstName.value.slice(1) + '-' + lastName.value})function changeFullName(){fullName.value = 'li-si'}</script>

很不幸爆红了
在这里插入图片描述
接下来我们引入一对方法get和set,大家应该并不陌生

<template><div class="person">姓:<input type="text" v-model="firstName"> <br>名:<input type="text" v-model="lastName"> <br>全名:<span>{{ fullName }}</span> <br><button @click="changeFullName">将全名改为馒头</button> <br>
</div></template><script lang="ts" setup name="Person11">import {ref,computed} from 'vue'let firstName = ref('李')let lastName = ref('小馒')let fullName = computed({get(){return firstName.value.slice(0,1).toUpperCase() + firstName.value.slice(1) + '-' + lastName.value},set(val){const [str1,str2] = val.split('-')  //以-分割分别赋值firstName.value = str1lastName.value = str2}})function changeFullName(){fullName.value = '李-馒头'}</script>

运行如下
请添加图片描述
这样我们就可以实现了修改fullName,将其变为可读可写


🍀计算属性computed的优势

计算属性computed在Vue3中具有以下优势:

简洁高效:通过计算属性computed可以简洁高效地实现基于其他属性计算的属性,避免了重复计算和代码冗余。
响应式更新:计算属性computed会自动响应依赖的变化而更新,保持界面和数据的同步。
缓存机制:计算属性computed会缓存计算结果,只有在相关依赖发生改变时才会重新计算,提高了性能和效率。

🍀总结

通过本文的介绍,我们了解了Vue3中计算属性computed的用法、特性和优势。计算属性computed作为Vue3中一个重要的特性,可以帮助开发者更好地管理和维护应用程序的状态,提高开发效率和用户体验。谢谢观看~
请添加图片描述

挑战与创造都是很痛苦的,但是很充实。

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

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

相关文章

NXP实战笔记(十):S32K3xx基于RTD-SDK在S32DS上配置CAN通信

目录 1、概述 2、SDK配置 2.1、配置目标 2.2、CAN配置 3、代码实现 4、测试结果 1、概述 S32K3xx的FlexCan与之前的S32K1xx很相似,Can的中断掩码寄存器(IMASK3)与中断标志位寄存器(IFLAG3)依赖于邮箱数。 FlexCan配置实例如下 FlexCan的整体图示如下 Protocol Engine…

PyTorch概述(六)---View

Tensor.view(*shape)-->Tensor 返回一个新的张量同之前的张量具有相同的数据&#xff0c;但是具有不同的形状&#xff1b;返回的张量同之前的张量共享相同的数据&#xff0c;必须具有相同数目的元素&#xff0c;可能具有不同的形状&#xff1b;对于经过view操作的张量&…

Python中操作MySQL和SQL Server数据库的基础与实战【第97篇—MySQL数据库】

Python中操作MySQL和SQL Server数据库的基础与实战 在Python中&#xff0c;我们经常需要与各种数据库进行交互&#xff0c;其中MySQL和SQL Server是两个常见的选择。本文将介绍如何使用pymysql和pymssql库进行基本的数据库操作&#xff0c;并通过实际代码示例来展示这些操作。…

MQTT介绍

基本概念 MQTT&#xff08;Message Queuing Telemetry Transport&#xff0c;消息队列遥测传输协议&#xff09;由 Andy Stanford-Clark&#xff08;IBM&#xff09; 和 Arlen Nipper&#xff08;Arcom&#xff0c; 现为 Cirrus Link&#xff09; 于 1999 年发布&#xff0c;是…

Visual Studio:Entity设置表之间的关联关系

1、选择表并右键-》新增-》关联 2、设置关联的表及关联关系并“确定”即可

真的是性能优化(压测)-纯思想

文章目录 概要优化指标-MD都是文字看看就行性能优化操作1、代码优化&#xff1a;2、系统配置与环境优化&#xff1a;3、架构与设计&#xff1a;4、~~实施与监控&#xff1a;~~5、~~开发流程和环境管理&#xff1a;~~ 总结 概要 性能优化是一个持续的过程&#xff0c;需要监控、…

神经网络系列---感知机(Neuron)

文章目录 感知机(Neuron)感知机(Neuron)的决策函数可以表示为&#xff1a;感知机(Neuron)的学习算法主要包括以下步骤&#xff1a;感知机可以实现逻辑运算中的AND、OR、NOT和异或(XOR)运算。 感知机(Neuron) 感知机(Neuron)是一种简单而有效的二分类算法&#xff0c;用于将输入…

代码随想录算法训练营|day39

第九章 动态规划 62.不同路径63.不同路径II代码随想录文章详解总结 62.不同路径 dp[i][j] 表示从(0 ,0)出发到(i, j) 有dp[i][j]的路径数 边界值处理&#xff0c;(0 ,0)到(i,0)或(0, j)&#xff0c;只有一条路径 对于当前位置&#xff0c;只能由左方和上方位置到达&#xff0c…

android input命令支持多指触摸成果展示-千里马framework实战开发

hi input命令扩展提示部分 generic_x86_64:/ # input -h Error: Unknown command: -h Usage: input [<source>] <command> [<arg>...]The source…

数智化转型的三大关键点

一、重新认识数智化转型 消费红利时代&#xff0c;伴随中国宏观经济向好发展&#xff0c;相当一部分企业可以轻松实现快速增长&#xff0c;如同搭乘了一架高速运转的电梯一路飞升。然而&#xff0c;随着宏观经济增速放缓&#xff0c;时代的电梯逐渐失去效力&#xff0c;中国商…

Chrome插件开发(一)—manifest.json文件介绍

创建Chrome插件的manifest.json文件&#xff0c;这是插件的元数据文件&#xff0c;用于定义插件的基本信息&#xff0c;权限&#xff0c;前台页面&#xff08;如弹出窗口的HTML&#xff09;&#xff0c;以及其他脚本等。 以下是根据Chrome扩展Manifest V3规范的一个较全面的字…

python3 Flask jwt 简易token认证实例

直接上代码 from flask import Flask, jsonify, request, make_response import jwt import datetime from functools import wrapsapp Flask(__name__)# 这是一个示例密钥&#xff0c;实际应用中应该使用一个复杂且随机的密钥 app.config[SECRET_KEY] your_secret_keydef t…

未来智能的发展走势

未来智能的发展走势可以预见是从人工智能走向人机融合智能&#xff0c;再到人机环境系统智能。这一趋势主要包括以下五个特点&#xff1a; 1、主动推荐 未来智能系统将能够主动根据用户的需求和兴趣&#xff0c;提供个性化的推荐和建议。这种推荐将基于大数据和机器学习算法&am…

第九节HarmonyOS 常用基础组件24-Navigation

1、描述 Navigation组件一般作为Page页面的根容器&#xff0c;通过属性设置来展示的标题栏、工具栏、导航栏等。 2、子组件 可以包含子组件&#xff0c;推荐与NavRouter组件搭配使用。 3、接口 Navigation() 4、属性 名称 参数类型 描述 title string|NavigationComm…

源代码管理——码云Gitee

目录 Git安装 Gitee配置SSH 源代码管理常规操作 1.idea配置git 2.常规操作 Git安装 安装Git是进行源代码管理的基本步骤之一。以下是在本地安装Git的通用步骤&#xff0c;适用于Windows系统&#xff1a; 下载Git安装程序: 访问Git官网的下载页面&#xff1a;Git官网下载地…

【前端素材】推荐优质后台管理系统Welly平台模板(附源码)

一、需求分析 后台管理系统&#xff08;或称作管理后台、管理系统、后台管理平台&#xff09;是一种专门用于管理网站、应用程序或系统后台运营的软件系统。它通常由一系列功能模块组成&#xff0c;为管理员提供了管理、监控和控制网站或应用程序的各个方面的工具和界面。以下…

现在学Oracle是49年入国军么?

今天周末&#xff0c;不聊技术&#xff0c;聊聊大家说的最多的一个话题 先说明一下&#xff0c;防止挨喷&#x1f606; 本人并不是职业dba&#xff0c;对数据库就是爱好&#xff0c;偶尔兼职&#xff0c;以下仅个人观点分析&#xff0c;如有不同观点请轻喷&#xff0c;哈哈&…

【动态规划介绍】

文章目录 前言一、动态规划是什么&#xff1f;动态规划的定义动态规划的历史背景动态规划的基本概念最优子结构重叠子问题记忆化 二、动态规划的工作原理1.分解子问题如何分解重叠子问题的重要性 2.存储解决方案存储方法优势 3.构建最终解决方案解决方案的构建 三、动态规划的类…

C语言5道编程题简单介绍

1、水仙花数&#xff08;Narcissistic number&#xff09;又被称为阿姆斯特朗数&#xff08;Armstrong number&#xff09;。水仙花数是指一个3位数&#xff0c;它的每个位上的数字的3次幂之和等于它本身&#xff08;例如&#xff1a;1^3 5^3 3^3 153&#xff09;。 输出100…