Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Vue:计算属性

Vue:计算属性

作者头像
姓王者
发布于 2024-10-31 10:47:40
发布于 2024-10-31 10:47:40
15400
代码可运行
举报
文章被收录于专栏:姓王者的博客姓王者的博客
运行总次数:0
代码可运行

我们为什么需要计算属性

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
全名:<span>{{firstName + '-' + lastName}}</span><br>

vue官方不建议我们在模板这么写,这看起来过于 复杂

示例代码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制

<template>
    <div class="person">
        姓:<input  type="text" v-model="firstName"> <br>   
        名:<input type="text" v-model="lastName"> <br>
        全名:<span>{{fullName}}</span><br>
        <button @click="changeName">修改姓名</button>
        <!-- 全名 <span>{{firstName}}-{{lastName}}</span> <br> -->
    </div>
</template>


<script setup   lang="ts" name="Personsss">
import {computed, ref} from 'vue'
let firstName= ref('章');
let lastName = ref('礼');
let fullName =computed(
()=>firstName.value.slice(0,1).toUpperCase()+firstName.value.slice(1)+lastName.value
);

</script>

首先我们需要导入computed 然后使用这个计算属性定义fullName 通过这个方法,使得模板变得简易,可读性变高

计算属性默认只可读

事实上如果我在里面定义一个函数

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
function changeName(){
fullName.value='李四'
}

这个changeName函数会报错 无法为“value”赋值,因为它是只读属性。 这是计算属性的只读特性

如何修改?

如果想要修改计算属性的值,我们需要getset方法

例如 来自于vue官方文档

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<script setup>
import { ref, computed } from 'vue'

const firstName = ref('John')
const lastName = ref('Doe')

const fullName = computed({
  // getter
  get() {
    return firstName.value + ' ' + lastName.value
  },
  // setter
  set(newValue) {
    // 注意:我们这里使用的是解构赋值语法
    [firstName.value, lastName.value] = newValue.split(' ')
  }
})
</script>

你发现了吗,这种修改本质上还是修改了firstNamelastName,那我们不禁想到,为什么我们不直接修改这两个的值,来实现通过计算属性更新fullName的值呢?

官方推荐

正如官方文档所言 避免直接修改计算属性值​ 从计算属性返回的值是派生状态。可以把它看作是一个“临时快照”,每当源状态发生变化时,就会创建一个新的快照。更改快照是没有意义的,因此计算属性的返回值应该被视为只读的,并且永远不应该被更改——应该更新它所依赖的源状态以触发新的计算。

所以,这种只读属性是必然的,我们完全可以通过修改那两个值实现计算属性的值的更新!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-09-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
ChatGPT 给出的计算机科学学习计划
我目前是一名云计算工程师,不是计算机科班出身,学习过基础的计算机导论、程序设计基础、C 程序开发以及 C++ 程序设计开发。
宋天伦
2023/10/21
2860
计算机知识框架搭建
1. 「美酒加咖啡,一杯再一杯」,一共卖了542万杯。瑞幸的应用和小程序部署在TKE serverless 集群上。周一当天,面对流量高峰,TKE在两分钟内就拉起了数千核计算资源。
希里安
2023/10/30
3520
计算机知识框架搭建
【吐血整理】那些让你起飞的计算机基础知识:学什么,怎么学?
我公众号里的文章,写的大部分都是与计算机基础知识相关的,这些基础知识,就像我们的内功,如果在未来想要走的更远,这些内功是必须要修炼的。框架千变万化,而这些通用的底层知识,却是几乎不变的,了解了这些知识,可以帮助我们更快着学习一门知识,更加懂得计算机的运行机制。当然,在面试中也经常会被问到,特别是对于应届生,对于春秋招,也可以看看我前阵子写过的文章历经两个月,我的秋招之路结束了!。也有读者经常问的计算机基础知识究竟是指啥?学习顺序?推荐书籍?
kbsc13
2019/10/15
7330
狂补计算机基础知识,让我上了瘾
大家的微信更新到 8.0 了没?一开始只有 iOS 版可以更新,随后安卓的内测版本也放了出来,需要的话可以在公众号后台回复「微信」拉取内测地址,顺带说一声,新版微信的上线突破了 5000 人,超过 5000 人也可以看朋友圈了,所以大号的微信重新开放一波,需要的可以趁机加一下。
沉默王二
2021/01/28
3300
全国计算机二级公共基础知识2020大纲(有新增)
因为计算机系统为2020年新增内容,没有往年的真题。网上基本上也没有什么资料。这里推荐大家购买最权威的教育部考试中心出的教材。
用户6755376
2020/03/05
5800
全国计算机二级公共基础知识2020大纲(有新增)
计算机硬件和安全的一点理解
转眼3月还剩一天就过去,最近一周,如运维开发写作计划安排。主要回顾和复习开发前要掌握的一些计算机基础知识。包含计算机组成原理、网络、操作系统、数据结构和算法、数据库。这里还差一个硬件和安全基础知识没有回顾,硬件的话除非专业人士,一般开发确实接触较少,而安全个人认为也是综合了很多计算机基础,这块一般都需要单独拿出来了解一下。
希里安
2023/10/30
2210
计算机硬件和安全的一点理解
【吐血整理】那些让你起飞的计算机基础知识:学什么,怎么学?
在我们用的程序中,99% 都离不开网络,作为一个程序员,我觉得了解计算机网络是必须的,在大学的课程中,一般也都会开设这一门课。
乔戈里
2019/10/15
8720
学习计算机基础必读的4本经典入门书籍,自学编程必备书单!
新手学习计算机并非易事,作为一个自学编程的过来人,深知打好计算机基础的重要性,缺少了坚实的计算机的基础,往往你也难以往上走,即使学了再多高大上的技术,也都是在沙台上筑高楼,缺少根基,摇摇欲坠。
程序员黄小斜
2020/05/15
3.7K0
专业指南丨计算机科学和软件工程,哪个更适合你?
2018年高考已落下帷幕,选择什么大学、报考什么专业又将成为考生和家长要面对的难题。对于之后想成为软件工程师的考生而言,计算机科学和软件工程专业哪个更适合自己呢?前谷歌的软件开发人员YK在本文中给出了自己的见解。
CDA数据分析师
2018/07/30
7610
专业指南丨计算机科学和软件工程,哪个更适合你?
简单说下帅地是如何学习计算机基础知识的?
计算机基础的重要性我就不必多说了,「帅地玩编程」这个公众号也是主打计算机基础 + 算法相关知识,学习计算机基础,认准「帅地玩编程」。
帅地
2020/10/21
1.3K0
计算机基础
实际上,这是计算机最早的含义。自1946年以来,第一台通用电子计算机ENIAC诞生,计算机技术获得了迅猛发展。而计算机的含义也在不断扩大和丰富。
Skrrapper
2024/06/18
1200
计算机基础
知识总结:安卓工程师养成计划计算机基础细分方向知识算法
楼主Android菜鸡一枚,今年校招侥幸拿到了还不错的offer。因为校招实在过于侥幸,面试上很少遇到复杂的问题,这里就不写面经了,初略谈一谈校招的一些准备吧。可能有些认知偏差,请各位大佬轻喷。 一般国内企业招聘技术岗都会细分方向(客户端、前端、服务端等等),所以我个人会将笔试面试准备的内容大致分为三部分:计算机基础、细分方向知识和算法。 计算机基础 计算机基础无外乎是数据结构、计算机网络、操作系统、数据库、计算机组成原理(微机)和编译原理这些内容。鉴于楼主走的是Android方向,计算机基础是按照上面的顺
牛客网
2018/04/28
1.1K0
【光剑极简教程系列】“计算机科学与技术”概述Computer Science and Technology
【光剑极简教程系列】“计算机科学与技术”概述 Computer Science and Technology
一个会写诗的程序员
2020/11/12
5360
全国计算机二级公共基础知识2020新大纲
考试方式 公共基础知识不单独考试,与其他二级科目组合在一起,作为二级科目考核内容的一部分。 上机考试,10道单项选择题,占10分。 基本要求 掌握计算机系统的基本概念,理解计算机硬件系统和计算机操作系统。 掌握算法的基本概念。 掌握基本数据结构及其操作。 掌握基本排序和查找算法。 掌握逐步求精的结构化程序设计方法。 掌握软件工程的基本方法,具有初步应用相关技术进行软件开发的能力。 掌握数据库的基本知识,了解关系数据库的设计。 考试内容 一、基本数据结构与算法 算法的基本概念;算法复杂度的概念
用户6755376
2020/02/19
5750
B程序员:讲述三年计算机学习辛酸史
近年来,有些读者会问我一些形形色色的问题,让我很难去回答,甚至给不出建设性的意见。
Guide哥
2020/05/08
3830
B程序员:讲述三年计算机学习辛酸史
计算机圣经
哈喽小伙伴们,我是你们的老朋友 cxuan,今天这篇文章不聊技术,我们来谈一个特别的话题。在聊这个话题前,我想先确认个事儿,在座的大部分大学所选的专业应该都是计算机相关的吧,如果不是计算机相关,但你在从事这个行业之前肯定应该了解过计算机应该都要学习哪些内容吧,那么你还记得你上大学的时候,你们的计算机教材都有哪些吗?
cxuan
2021/03/12
1.4K0
计算机基础(三)
计算机基础(三) 一、数据表示方式     事实上电脑只认识0与1,记录的数据也是只能记录0与1,所以电脑常用的数据是二进制的。但是我们人类常用的数值运算是十进制,文字方面则有非常多的语言,常用的语言就有中文(又分正体与简体中文)、英文等。那么电脑如何记录与显示这些数值/文字呢?就得要通过一系列的转换才可以!下面我们就来谈谈数值与文字的编码系统! 1、数字系统     早期的电脑使用的是利用通电与否的特性的真空管,如果通电就是1,没有通电就是0,后来沿用至今,我们称这种只有0/1的环境为二进制,英文称为bi
云飞扬
2018/06/19
7600
B站收藏 6.1w+!GitHub 标星 3.9k+!这门神课拯救了我薄弱的计算机基础
作为一个所谓的计算机科班出身的人来说,特别难为情的是自己的计算机基础很差,比如计算机网络当年一度差点挂掉,多亏当时的老师手下留情,给我一个刚及格的分数,但也因为这门课,造成我在之后申请奖学金的时候与其擦身而过。
编程文青李狗蛋
2019/12/19
5450
B站收藏 6.1w+!GitHub 标星 3.9k+!这门神课拯救了我薄弱的计算机基础
GitHub 上这个「计算机科学」自学指南火了!
我不知道你们最近有没有刷 GitHub,如果有的话,你应该会发现一个项目特别亮眼,这个项目名为:TeachYourselfCS-CN。
GitHubDaily
2020/06/29
2.6K0
GitHub 上这个「计算机科学」自学指南火了!
浅谈计算机基础知识
今天在复习计算机基础知识的过程中,看到很多年前的新闻。是关于Max Howell,他就是 Homebrew 的创作者。首先说说这款大名鼎鼎的Mac软件,它是一款适用于macos操作系统的开源软件包,允许用户使用命令行安装卸载各种开源软件包。而他本人是一名行业内知名的 MacOS / iOS 开发工程师,后来入职苹果公司。但是就是这么牛的人因为一个反转二叉树的问题而被谷歌拒绝。他本人发了这么一段话:
希里安
2023/10/30
1590
浅谈计算机基础知识
推荐阅读
相关推荐
ChatGPT 给出的计算机科学学习计划
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验