vue3 computed方法使用详细讲解

Computed方法用于创建计算属性,它的值由其他响应式数据计算得出,并且会在依赖数据发生改变时自动更新。因为vue3兼容vue2的选项式api,所以习惯用vue2的小伙伴可以直接用vue2的方法写是没有问题的。但我这里介绍的是computed在vue3中的新语法:

内容涵盖了computed在我们开发中所有能用到的方法,另外也会在每个使用方法上附上使用情景:

1.基础写法

使用场景:我们在做项目时经常会在模板中写表达式来获取自己想要的结果,比如这样:<span>{{ author.books.length > 0 ? 'Yes' : 'No' }}</span> 但这样的表达式写入太多会造成代码臃肿,所以官方不建议在模板中写入太多的表达式操作,我们就可以使用computed方法来实现相同的功能:

<script setup>
// 1.第一步先引入computed方法:
import { ref, computed } from 'vue'const author = ref(['1','2','3'])// 2.我们定义了一个计算属性publishedBooksMessage 来接收computed()方法返回的值
const publishedBooksMessage = computed(() => {return author.length > 0 ? 'Yes' : 'No'
})
</script><template>
// 3.将publishedBooksMessage 变量写到模板中<span>{{ publishedBooksMessage }}</span>
</template>

注意:基础写法中computed()方法默认接收的是一个getter函数,返回值(也就是例子中的publishedBooksMessage 的值)为一个可读计算属性ref,也就是我们拿到值之后通常在别的地方直接引用就行,是不能做更改操作的,比如publishedBooksMessage.value++这样的操作,但基础写法在日常生活中使用的更多。所以只是可读也够用了

2. 完整写法

使用场景:我在基础写法中介绍到,基础写法返回的值只可读不可更改,所以当我们的项目涉及到需要更改的操作时,可以使用computed()的完整写法,完整写法提供getter和setter两个函数,我们在getter函数中获取该计算属性的值,在setter函数中可以对该计算属性的值进行更改操作,默认的基础写法只提供getter函数哦

<script setup>import {ref,computed } from 'vue'let booksNum = computed({ get:()=>{   return booksNum.value *10  }, set:(value)=>{   return booksNum.value = value/10 } 
})</script>

3.computed方法接收参数

使用场景:我们在computed的基础写法和完整方法中其实已经满足我们绝大部分需求了,但有些小伙伴在开发时会遇到这样类似这样的问题:在模板中使用v-for遍历循环时需要传参,computed()方法需要接收参数才能处理数据,这种情况下computed方法该如何接收参数呢?别慌,很简单,只需要在计算属性内部返回一个函数就可以了

<script setup>import {ref,computed } from 'vue'const arrList  = ref('你好','2','3')const result =computed(()=>{return (text) =>{return text+'1'}
})</script ><template><div   v-for="item in arr" ><span  v-html="result (item)"></span></div>
</template>

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

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

相关文章

std::iota(C++)

std::iota 1. 概述2. 函数原型3. 使用示例示例 1&#xff1a;填充 vector<int>示例 2&#xff1a;从非零起始值开始 4. 应用场景5. 注意事项6. 与其它算法比较小结 1. 概述 std::iota 定义在头文件 中&#xff0c;C11 起引入。 它用于向前迭代器区间依次填入连续递增的数…

基于Jaccard算法的用户浏览历史推荐商品系统实战+springboot+vue源码实现

大家好&#xff0c;这里是小罗毕设工作室。今天给大家带来了一套完整的推荐系统&#xff1a; “基于Jaccard算法的用户浏览历史推荐商品系统”。 系统源码后端实现是springboot&#xff0c;前端是vue3。 视频演示 基于Jaccard算法的用户浏览历史推荐商品系统实战 图片截图 算法…

正态分布和幂律分布

1. 背景与引入 正态分布 历史来源&#xff1a;18世纪由高斯&#xff08;Gauss&#xff09;在研究测量误差时提出&#xff0c;后被广泛应用于自然现象和社会科学的数据建模。重要性&#xff1a;被称为“钟形曲线”&#xff0c;是统计学中最核心的分布之一&#xff0c;支撑中心极…

免费AI图像编辑平台,最新无损放大技术

软件介绍 腾讯ARC网页在线AI图片处理是一款由腾讯ARC实验室推出的在线图像处理工具。凭借腾讯的科技实力&#xff0c;这款工具在图像处理领域展现了卓越的性能。 功能亮点 这款在线图像处理工具提供多种功能&#xff0c;包括人像修复、人像抠图、动漫增强、万物识别以及…

# 部署深度学习模型:Flask API 服务端与客户端通信实战

部署深度学习模型&#xff1a;Flask API 服务端与客户端通信实战 在这篇文章中&#xff0c;我们将探讨如何使用 Flask 框架部署一个深度学习模型&#xff0c;并通过客户端与服务端进行通信。我们将通过一个实际的例子&#xff0c;展示如何构建服务端和客户端&#xff0c;以及如…

物理服务器紧急救援:CentOS系统密码重置全流程实战指南

前言 在企业IT运维实践中&#xff0c;物理服务器密码丢失是典型的"低概率高风险"事件。某金融科技公司曾因核心服务器密码遗失导致业务中断36小时&#xff0c;直接损失超过800万元。这起真实案例揭示了系统密码管理的关键性——当承载重要业务的物理服务器遭遇密码丢…

【学习心得】好用算力平台推荐OpenBayes“贝式计算”

好用是有定义的&#xff0c;我之前用过AutoDL和DAMODEL&#xff08;丹摩智算&#xff09;&#xff0c;我这里就不扯哪些我觉得不关键的因素。先不废话直接给出导航链接以及CSDN上的官方主页&#xff1a; OpenBayes官方网站https://openbayes.com/ OpenBayes官方CSDN账号主页h…

政务浏览器 一站式首页功能配置说明

一、政务浏览器自定义首页目的和意义 政务综合窗口&#xff0c;通常需要打开诸多的业务系统进行受理和查询&#xff1b;反复的录入系统地址或者在收藏夹查找系统入口&#xff0c;影响办事效率。政务浏览器为该场景设计了一款可定制的“首页”。 “首页”可以根据需要&#xff0…

linux nginx配置访问目录,访问文件直接下载,linux配置nginx直链下载

很简单的一个配置&#xff0c;不指定为啥&#xff0c;别人写的都好麻烦&#xff0c;而且很多配置了也不行&#xff0c;明明就是几句话的事啊&#xff0c;唉。 话不多说&#xff0c;直接上配置 worker_processes 1; events {worker_connections 1024; } http {include …

驱动开发硬核特训 · Day 28(上篇):pinctrl 子系统详解与实战分析

&#x1f4da; 技术平台&#xff1a;嵌入式Jerry&#xff08;B站&#xff09; 一、引言 在嵌入式系统中&#xff0c;SoC 芯片的引脚通常具有多种功能&#xff0c;如 GPIO、UART、I2C、SPI 等。为了在不同的应用场景中灵活配置引脚功能&#xff0c;Linux 内核引入了 pinctrl&am…

图漾相机——Sample_V2示例程序(待补充)

文章目录 1.SDK支持的平台类型1.1 Windows 平台1.2 Linux平台 2.Sample_V2编译流程2.1 Windows环境2.2 Linux环境编译 3.Sample_V2示例程序测试3.1 ListDevice_v23.2 DepthStream_v23.3 ExposureTimeSetting_v23.4 ForceDeviceIP_v23.5 GetCalibData_v23.6 NetStatistic_v23.7 …

Google-chrome版本升级后sogou输入法不工作了

背景&#xff1a; 笔记本Thinkpad E450&#xff0c;操作系统Ubuntu 24.04.2 LTS&#xff0c;Chrome浏览器版本135.0.7049.114-1&#xff0c;Edge浏览器版本131.0.2903.99-1&#xff0c;输入法Sogou版本4.2.1.145 现象&#xff1a; - **正常场景**&#xff1a;Edge中可通过Ctrl…

7系列 之 OSERDESE2

背景 《ug471_7Series_SelectIO.pdf》介绍了Xilinx 7 系列 SelectIO 的输入/输出特性及逻辑资源的相关内容。 第 1 章《SelectIO Resources》介绍了输出驱动器和输入接收器的电气特性&#xff0c;并通过大量实例解析了各类标准接口的实现。 第 2 章《SelectIO Logic Resource…

Ansible 流程控制

条件语句(判断) 当满足什么条件时&#xff0c;就执行那些tasks when 当...时ansible获取主机名 # 主机名中&#xff0c;不包含.没有区别 ansible_hostname # 包含.只显示第一个.前面的名字 ansible_fqdn # 包含.显示完整的主机名不管是shell还是各大编程语言中&#xf…

git命令积累(个人学习)

如何将docx文件不上传&#xff1f; 创建或编辑 .gitignore 文件 打开 .gitignore 文件&#xff0c;添加以下内容来忽略所有 .docx 文件&#xff1a; *.docx清除已追踪的 .docx 文件 git rm --cached "*.docx"这将从 Git 仓库中删除 .docx 文件&#xff0c;但不会删…

springboot应用大批量导出excel产生oom处理措施实践(适用于poieasyexcel)

一、背景&#xff1a; 在某些信息管理场景中&#xff0c;存在大批量导出需求&#xff0c;例如一次性导出10~100w行excel数据&#xff0c;如果不做特殊的处理&#xff0c;很容易导致Out Of Memory&#xff0c;特别是堆内存溢出。 oom复现 例如修改IDEA运行配置&#xff0c;VM…

谷歌在即将举行的I/O大会之前,意外泄露了其全新设计语言“Material 3 Expressive”的细节

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

深入理解负载均衡:传输层与应用层的原理与实战

目录 前言1. 传输层&#xff08;Layer 4&#xff09;负载均衡1.1 工作层级与核心机制1.2 实现方式详解1.3 优缺点分析1.4 典型实现工具 2. 应用层&#xff08;Layer 7&#xff09;负载均衡2.1 工作层级与核心机制2.2 实现方式解析2.3 优缺点分析2.4 常用实现工具 3. Layer 4 与…

PyTorch 版本、torchvision 版本和 Python 版本的对应关系

PyTorch 版本、torchvision 版本和 Python 版本的对应关系 在深度学习领域&#xff0c;PyTorch 及其配套库 torchvision 的使用极为广泛。但不同版本的 PyTorch、torchvision 与 Python 之间存在严格的对应关系&#xff0c;若版本搭配不当&#xff0c;会导致代码运行出错…

【hadoop】Hbase java api 案例

代码实现&#xff1a; HBaseConnection.java package com.peizheng.bigdata;import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.HBaseConfiguration; import org.apache.hadoop.hbase.client.Connection; import org.apache.hadoop.hbase.client…