当前位置: 首页 > news >正文

Vue基础(7)_计算属性

计算属性(computed)

一、使用方式:
1.定义计算属性: 在Vue组件中,通过在 computed 对象中定义计算属性名称及对应的计算函数来创建计算属性。计算函数会返回计算属性的值
2.在模板中使用计算属性: 在Vue的模板中,您可以直接像访问普通属性一样使用计算属性。Vue会自动处理计算属性的依赖关系,并在相关数据变化时更新计算属性。
3.计算属性的特点
(1)计算属性是基于它们的依赖进行缓存的,只有在依赖发生变化时才会重新求值。
(2)计算属性的值会根据相关依赖的变化而自动更新,无需手动触发。
(3)计算属性的定义类似于普通的属性,但需要使用函数来返回计算结果。

二、computed与methods的区别:
1.计算属性和方法的调用方式不同: 计算属性是通过对应名称直接访问的,而方法需要在模板中使用 v-on 指令或者 @ 符号进行调用。
2.计算属性可以缓存结果,而方法不能: 计算属性的值会被缓存起来,只有在它所依赖的响应式数据变化时才会重新计算。而方法每次调用都要重新计算,无法被缓存。
3.计算属性应该用于简单的计算,而方法用于复杂逻辑的处理: 如果需要对数据进行一些简单的计算或过滤,可以使用计算属性,因为它们比方法更高效。而如果需要进行一些复杂的逻辑处理,应该使用方法。

简单理解和使用计算属性(computed):
1.定义:要用的属性不存在,要通过已有属性计算得来。
2.原理:底层借助了Object.defineproperty方法提供的getter和setter
3.get函数什么时候执行?
(1).初次读取时会执行一次。
(2).当依赖的数据发生改变时会被再次调用。
4.优势:与methods实现相比,内部有缓存机制(复用),效率更高,调试方便。
5.备注:
1.计算属性最终会出现在vm上,直接读取使用即可
2.如果计算属性要被修改,那必须写set函数去响应修改,且set中要引起计算时依赖的数据发生变化。

举例:

<!DOCTYPE html>
<html lang="zh"><head><meta charset="UTF-8"><script type="text/javascript" src="../js/vue.js"></script><title>计算属性</title>
</head><body><div id="root01"><h3>差值语法实现</h3>姓:<input type="text" v-model:value="firstName"> <br>名:<input type="text" v-model:value="lastName"><br>全名:{{firstName.slice(0,3)}} {{lastName}}</div><div id="root02"><h3>methods(方法)实现</h3>姓:<input type="text" v-model:value="firstName"> <br>名:<input type="text" v-model:value="lastName"><br>性别:<input type="text" v-model:value="gender"><br>全名:<span>{{fullName()}}</span><br>全名:<span>{{fullName()}}</span></div><div id="root03"><h3>计算属性实现</h3>姓:<input type="text" v-model:value="firstName"> <br>名:<input type="text" v-model:value="lastName"><br>性别:<input type="text" v-model:value="gender"><br>全名:<span>{{fullName}}</span><br>全名:<span>{{fullName}}</span></div><div id="root04"><h3>计算属性(简写)</h3>姓:<input type="text" v-model:value="firstName"> <br>名:<input type="text" v-model:value="lastName"><br>性别:<input type="text" v-model:value="gender"><br>全名:<span>{{fullName}}</span><br>全名:<span>{{fullName}}</span></div>
</body>
<script>Vue.config.devtools = true;// 1、用 "插值语法" 输出姓名// vue提倡模板简单,当表达式过多时,插值语法代码代码会看起来臃肿new Vue({el: "#root01",data: {firstName: '张',lastName: '三',}})// 2、用 "methods(方法)" 输出姓名new Vue({el: "#root02",data: {firstName: '李',lastName: '四',gender: '男'},methods: {fullName() {console.log("fullName方法调用了");return this.firstName.slice(0, 3) + ' ' + this.lastName;}},})// 3、用 "计算属性" 输出姓名var vm = new Vue({el: "#root03",data: {firstName: '王',lastName: '五',gender: '女'},// 计算属性对象的优势:有缓存,省去不必要的重复调用。// 完整写法,包含读取(get)和修改(set)computed: {fullName: {// get的作用:当有人读取fullName属性时,get就会被调用,且返回值就作为属性fullName的值。// get什么时候调用?1.初次读取fullName时。2.所依赖的数据发生变化时。get() {console.log("计算属性对象中,属性fullName内的get函数被调用了");// 此处的this为vmreturn this.firstName + ' ' + this.lastName;},// set什么时候调用:当fullName属性被修改时。set(value) {console.log('set函数被调用', value);const arr = value.split('');this.firstName = arr[0];this.lastName = arr[1];}}},})new Vue({el: "#root04",data: {firstName: '赵',lastName: '六',gender: '女'},// 计算属性简写,只包含读取(get)computed: {// 对应以上的get函数,效果一致fullName() {console.log("计算属性对象中,属性fullName内的get函数被调用了");return this.firstName + ' ' + this.lastName;}}})
</script>
</html>

相关文章:

Vue基础(7)_计算属性

计算属性(computed) 一、使用方式&#xff1a; 1.定义计算属性&#xff1a; 在Vue组件中&#xff0c;通过在 computed 对象中定义计算属性名称及对应的计算函数来创建计算属性。计算函数会返回计算属性的值。 2.在模板中使用计算属性&#xff1a; 在Vue的模板中&#xff0c;您…...

1.9多元函数积分学

引言 多元函数积分学是考研数学一的核心内容&#xff0c;涵盖三重积分、曲线积分、曲面积分及空间曲线积分。本文系统梳理4大考点&#xff0c;结合公式速查与典型示例&#xff0c;助你高效攻克积分难题&#xff01; 考点一&#xff1a;三重积分计算与应用 1️⃣ 对称性 (1) …...

【LINUX操作系统】线程操作

了解了线程的基本原理之后&#xff0c;我们来学习线程在C语言官方库中的写法与用法。 1. 常见pthread接口及其背后逻辑 1.1 pthread_create 与线程有关的函数构成了⼀个完整的系列&#xff0c;绝⼤多数函数的名字都是以“pthread_”打头的 • 要使⽤这些函数库&#xff0c;…...

web技术与nginx网站环境部署

一&#xff1a;web基础 1.域名和DNS 1.1域名的概念 网络是基于TCP/IP协议进行通信和连接的,每一台主机都有一个唯一的标识(固定的IP地址)&#xff0c;用以区别在网络上成千上万个用户和计算机。网络在区分所有与之相连的网络和主机时&#xff0c;均采用一种唯一、通用的地址…...

多元复合函数求导的三种情况

1. 一元函数与多元函数复合 1.1 变量关系 1.2 求导公式 因为根据链式法则&#xff0c;先对z求导&#xff0c;z是二元函数&#xff0c;所以说是偏导&#xff1b;再对里面求导&#xff0c;u、v是一元函数&#xff0c;所以说是全导。 2. 多元函数与多元函数复合 2.1 变量关系…...

全面解析DeepSeek算法细节(2) —— 多令牌预测(Multi Token Prediction)

概述 多令牌预测&#xff08;MTP&#xff09;技术使DeepSeek-R1能够并行预测多个令牌&#xff0c;显著提升推理速度。 关键特性 并行多令牌预测&#xff1a;DeepSeek-R1通过同时预测多个令牌而非按顺序预测&#xff0c;提升了推理速度。这减少了解码延迟&#xff0c;在不影响…...

如何从大规模点集中筛选出距离不小于指定值的点

一、背景&#xff1a;当点集处理遇见效率挑战 在数字化浪潮席卷各行各业的今天&#xff0c;点集数据处理已成为地理信息系统&#xff08;GIS&#xff09;、计算机视觉、粒子物理仿真等领域的核心需求。以自动驾驶场景为例&#xff0c;激光雷达每秒可产生超过10万个点云数据&am…...

单片机-89C51部分:6、数码管

飞书文档https://x509p6c8to.feishu.cn/wiki/WRNLwDd0iiG8OWkyatOcom6knHf 一、数码管简介 通俗解释&#xff1a; 一个数码管等于八个LED组合在一起&#xff0c;想要显示什么形状&#xff0c;就点亮对应LED即可。 一般数码管分为共阴极数码管和共阳极数码管。 共阳极接法&…...

可解释人工智能(XAI):让机器决策透明化

在人工智能&#xff08;AI&#xff09;技术飞速发展的今天&#xff0c;AI 系统已经广泛应用于金融、医疗、交通等多个关键领域。然而&#xff0c;随着 AI 系统的复杂性不断增加&#xff0c;尤其是深度学习模型的广泛应用&#xff0c;AI 的“黑箱”问题逐渐凸显。AI 系统的决策过…...

深入理解网络原理:TCP协议详解

在现代计算机网络中&#xff0c;传输控制协议&#xff08;TCP&#xff0c;Transmission Control Protocol&#xff09;是最常用的传输层协议之一。TCP被广泛应用于互联网中的许多关键应用&#xff0c;如网页浏览、电子邮件和文件传输等。作为一种面向连接的协议&#xff0c;TCP…...

二极管钳位电路——Multisim电路仿真

目录 二极管钳位电路 2.1 二极管正向钳位电路 二极管压降测试 2.1.1 二极管正向钳位电路图 2.1.2 二极管正向钳位工作原理 2.2 二极管负向钳位电路 2.2.1 二极管负向钳位电路图 2.2.2 二极管负向钳位工作原理 二极管正向反向钳位仿真电路实验结果 2.3 二极管顶部钳位…...

【更新】LLM Interview (2)

字数溢出&#xff0c;不解释 前文&#xff1a;llm interview (1) 文章目录 强化学习专题1 什么是RL&#xff1f;2 RL和监督、非监督、深度学习的区别3 RL中所谓的损失函数与深度学习中的损失函数有何区别&#xff1f;4 RL历史5 RL分类5.1 分类图示5.2 根据智能体动作选取方式分…...

第二节:文件系统

理论知识 文件系统的基本概念&#xff1a;文件系统是操作系统中负责管理持久数据的子系统&#xff0c;它将数据组织成文件和目录的形式&#xff0c;方便用户存储和访问数据。Linux文件系统的类型&#xff1a;常见的 Linux 文件系统类型有 Ext2、Ext3、Ext4、XFS、Btrfs 等。Ex…...

astrbot_plugin_composting_bucket开源程序是一个用于降低AstrBot的deepseek api调用费用的插件

一、软件介绍 文末提供程序和源码下载 astrbot_plugin_composting_bucket开源程序是一个用于降低AstrBot的deepseek api调用费用的插件&#xff0c;让deepseek api调用费用更低&#xff01; 本插件功能已集成到 AstrBot &#xff0c;您可以移除此插件&#xff0c;在 AstrBot…...

8.Three.js中的 StereoCamera 立体相机详解+示例代码

✨ 运行效果 &#x1f440; 左边一幅图、右边一幅图&#xff0c;略微偏移&#xff0c;形成立体感&#xff5e; &#xff08;戴上VR眼镜或红蓝3D眼镜体验更明显哦&#xff5e;&#xff09; &#x1f525; 小球或方块旋转中&#xff0c;左右略微不同步&#xff0c;立体感更强&am…...

MYSQL——时间字段映射Java类型

在 Java 中查询数据库中的【时间字段】时&#xff0c;可以使用以下几种类型来处理&#xff1a; 1. java.sql.Date 适用场景&#xff1a;当数据库中的时间字段是 date 类型时&#xff0c;使用 java.sql.Date 是最合适的选择。示例代码&#xff1a;ResultSet rs statement.exe…...

搭建speak yarn集群:从零开始的详细指南

在大数据处理领域&#xff0c;Apache Spark 是一个高性能的分布式计算框架&#xff0c;而 YARN&#xff08;Yet Another Resource Negotiator&#xff09;是 Hadoop 的资源管理器。将 Spark 集成到 YARN 中&#xff0c;不仅可以充分利用 Hadoop 的资源管理能力&#xff0c;还能…...

第十三章-PHP MySQL扩展

第十三章-PHP与MySQL 一&#xff0c;连接数据库 1. 使用 MySQLi&#xff08;面向对象方式&#xff09; <?php // 数据库参数 $host localhost; $username root; $password ; $database test_db;// 创建连接 $conn new mysqli($host, $username, $password, $databa…...

在服务器中,搭建FusionCompute,实现集群管理

序&#xff1a;需要自备一台服务器&#xff0c;并安装部署好KVM&#xff0c;自行下载镜像&#xff0c;将所需的CNA和VRM镜像放到服务器中&#xff0c;小编所用的进项版本如下&#xff0c;读者可自行根据需求下载其它版本的镜像。 CNA镜像&#xff1a;FusionCompute_CNA-8.3.0-…...

嵌入式开发学习日志Day11

一、函数的递归调用 在调用一个函数的过程中&#xff0c;又出现直接或者间接的调用函数本身&#xff0c;称之为函数的递归调用&#xff1b; 函数的递归调用是使用大量的内存空间完成程序进行的&#xff1b; 1.间接调用 2.直接调用 注意&#xff1a; 上图仅为示意&#xff0c;…...

【线性规划】对偶问题的实际意义与重要性质 学习笔记

【线性规划】对偶问题的实际意义与重要性质_哔哩哔哩_bilibili...

代码随想录第30天:动态规划3

一、01背包理论基础&#xff08;Kama coder 46&#xff09; “01背包”&#xff1a;有n件物品和一个最多能背重量为w 的背包。第i件物品的重量是weight[i]&#xff0c;得到的价值是value[i] 。每件物品只能用一次&#xff0c;求解将哪些物品装入背包里物品价值总和最大。 1. 确…...

DSP48E2 的 MAC模式功能仿真

DSP48E2 仿真代码&#xff1a; 测试的功能为 P i ( A D ) ∗ B P i − 1 P_{i} (AD) * B P_{i-1} Pi​(AD)∗BPi−1​ timescale 1ns / 1nsmodule dsp_tb;// 输入reg CLK;reg CE;reg SCLR;reg signed [26:0] A, D;reg signed [17:0] B;// 输出wire signed [47:0] P;par…...

【环境配置】Mac电脑安装运行R语言教程 2025年

一、安装 Xcode Command Line Tools 打开终端&#xff0c;输入如下命令&#xff1a; xcode-select --install安装完成后&#xff0c;输入如下命令&#xff0c;能看见版本号说明安装成功 gcc --version二、下载安装R语言 https://mirrors.tuna.tsinghua.edu.cn/CRAN/ 点开后…...

常见算法的总结与实现思路

前言 hello&#xff0c;我是Maybe。昨天和今天花了两天左右的时间。把常见的排序算法都学完了&#xff0c;自己也实现了一遍。感觉收获满满&#xff0c;但是过程是艰辛的。下面我将分享代码和思维导图&#xff0c;希望可以帮助到大家。 思维导图(含注意事项&#xff0c;实现思…...

Ethan独立开发产品日报 | 2025-04-27

1. CreateWise AI 旨在提升你工作效率的AI播客编辑器 人工智能播客编辑器&#xff0c;让你的播客制作速度提升10倍&#xff01;它可以自动去除口头语和沉默&#xff0c;生成节目笔记和精彩片段&#xff0c;还能一键制作适合社交媒体分享的短视频——所有这些功能都只需一次点…...

5G与边缘计算:协同发展,开启智慧世界新篇章

**5G与边缘计算&#xff1a;协同发展&#xff0c;开启智慧世界新篇章 ** 大家好&#xff0c;我是Echo_Wish。今天我们来探讨一个备受关注的技术话题——5G与边缘计算的协同发展。随着5G网络的逐步普及以及边缘计算技术的快速发展&#xff0c;二者的结合为我们带来了前所未有的创…...

AcWing 885:求组合数 I ← 杨辉三角

【题目来源】 https://www.acwing.com/problem/content/887/ 【题目描述】 给定 n 组询问&#xff0c;每组询问给定两个整数 a&#xff0c;b&#xff0c;请你输出 C(a,b) mod (10^97) 的值。 【输入格式】 第一行包含整数 n。 接下来 n 行&#xff0c;每行包含一组 a 和 b。 …...

Python3:Jupyterlab 安装和配置

Python3:Jupyterlab 安装和配置 Jupyter源于Ipython Notebook项目&#xff0c;是使用Python&#xff08;也有R、Julia、Node等其他语言的内核&#xff09;进行代码演示、数据分析、机器学习、可视化、教学的非常好的工具。 最新的基于web的交互式开发环境&#xff0c;适用于n…...

如何搭建spark yarn模式的集合集群

一、环境准备 在搭建 Spark on YARN 集群之前&#xff0c;需要确保以下环境已经准备就绪&#xff1a; 操作系统&#xff1a;推荐使用 CentOS、Ubuntu 等 Linux 发行版。 Java 环境&#xff1a;确保安装了 JDK 1.8 或更高版本。 Hadoop 集群&#xff1a;已经搭建并运行的 Had…...

智能座舱架构中芯片算力评估

在智能座舱&#xff08;Intelligent Cockpit&#xff09;领域&#xff0c;芯片的算力是决定系统性能、响应速度以及用户体验的关键因素之一。 随着汽车智能化程度的不断提高&#xff0c;智能座舱对芯片的算力、功耗、集成度以及安全性提出了更高的要求。 智能座舱架构中芯片算…...

STM32完整内存地址空间分配详解

在STM32这类基于ARM Cortex-M的32位微控制器中&#xff0c;整个4GB的地址空间(从0x00000000到0xFFFFFFFF)有着非常系统化的分配方案&#xff0c;每个区域都有其特定的用途。下面我将详细介绍这些地址区域的分配及其功能&#xff1a; STM32完整内存地址空间分配详解(0x00000000…...

叉车司机N1考试的实操部分有哪些注意事项?

叉车司机 N1 考试实操部分分为场地考试和场内道路考试&#xff0c;以下是一些注意事项&#xff1a; 场地考试 起步&#xff1a;检查车辆仪表和个人仪容&#xff0c;穿好工作服、戴安全帽&#xff0c;不穿拖鞋等不符规定的鞋。同时检查换挡和换向操纵杆在空档位置&#xff0c;…...

【行业特化篇2】金融行业简历特化指南:合规性要求与风险控制能力的艺术化呈现

写在最前 作为一个中古程序猿,我有很多自己想做的事情,比如埋头苦干手搓一个低代码数据库设计平台(目前只针对写java的朋友),比如很喜欢帮身边的朋友看看简历,讲讲面试技巧,毕竟工作这么多年,也做到过高管,有很多面人经历,意见还算有用,大家基本都能拿到想要的offe…...

Linux 定时备份到windows 方案比较

1 传输协议比较 特性SCPRSYNCSFTP基本功能文件传输&#xff08;本地与远程&#xff09;文件和目录的同步与传输文件管理&#xff08;上传、下载、删除等&#xff09;增量传输不支持增量传输支持增量传输不支持增量传输性能传输速度较慢&#xff0c;效率低高效&#xff0c;适合…...

【网络编程】TCP/IP四层模型、MAC和IP

1. TCP/IP的四层模型 网络模型的目的&#xff1a;规范通信标准&#xff0c;确保不同设备和系统之间能够有效通信 对比OSI模型与TCP/IP模型&#xff1a; OSI模型的七层架构&#xff08;物理层、数据链路层、网络层、传输层、会话层、表示层、应用层&#xff09;TCP/IP模型的四…...

Java学习手册: IoC 容器与依赖注入

一、IoC 容器概述 IoC&#xff08;Inversion of Control&#xff0c;控制反转&#xff09;容器是 Spring 框架的核心组件之一。它负责创建对象、管理对象的生命周期以及对象之间的依赖关系。通过将对象的创建和管理交给 IoC 容器&#xff0c;开发者可以实现代码的松耦合&#…...

Web 基础与Nginx访问统计

目录 Web基础 域名与DNS 域名的结构 网页与HTML 网页概述 HTML 概述 HTML基本标签 1、HTML 语法规则 2、HTML 文件结构 静态网页和动态网页 HTTP协议概述 HTTP方法 HTTP状态码 Nginx访问状态统计 Web基础 域名与DNS 网络是基于 TCP/IP 协议进行通信和连接的,每一台主机都有一…...

了解Android studio 初学者零基础推荐(1)

线上学习课程链接 开发Andorid App 使用的语言有很多&#xff0c;包括java, kotlin,C,等&#xff0c;首先让我们了解kotlin这个热门语言。 kotlin 程序 fun main() {println("hello,xu") } kotlin中的函数定义语法&#xff1a;函数名称在fun关键字后面&#xff0…...

Android Studio 2024版,前进返回按钮丢失解决

最近升级完AS最新系统后&#xff0c;顶部的前进和返回按钮默认隐藏了 解决方案&#xff1a; 1. 打开settings 2. 找到左侧 Appearance & Behavior 下面点击 Menus and Toolbars 3. 点击 Main Toolar 4. 点击Left&#xff0c;右键选择 Add Actions 5. 弹框中选择 Main Me…...

详解UnityWebRequest类

什么是UnityWebRequest类 UnityWebRequest 是 Unity 引擎中用于处理网络请求的一个强大类&#xff0c;它可以让你在 Unity 项目里方便地与网络资源进行交互&#xff0c;像发送 HTTP 请求、下载文件等操作都能实现。下面会详细介绍 UnityWebRequest 的相关内容。 UnityWebRequ…...

安装qt4.8.7

QT4.8.7安装详细教程&#xff08;MinGW 4.8.2和QTCreator4.2.0)_qtcreater482-CSDN博客 QT4.8.7安装详细教程&#xff08;MinGW 4.8.2和QTCreator4.2.0) 1、下载 1&#xff09;下载QT4.8.7 http://download.qt.io/archive/ 名称&#xff1a;qt-opensource-windows-x86-mingw482…...

2025系统架构师---管道/过滤器架构风格

引言 在分布式系统与数据密集型应用主导技术演进的今天&#xff0c;‌管道/过滤器架构风格‌&#xff08;Pipes and Filters Architecture Style&#xff09;凭借其‌数据流驱动‌、‌组件解耦‌与‌并行处理能力‌&#xff0c;成为处理复杂数据转换任务的核心范式。从Unix命令…...

仙宫云ComfyUI —【Wan2.1】AI视频生成部署

【Wan2.1】AI视频生成本地部署与使用技巧全面详解_哔哩哔哩_bilibili 所有模型下载&#xff1a;https://pan.quark.cn/s/9d793aa1b258 Runninghub本期课程工作流下载&#xff08;可获得1000RH币&#xff09;&#xff1a;https://www.runninghub.cn/?utm_sourcekol01-RH145 仙…...

学成在线。。。

一:讲师管理 介绍:可以实现对讲师的分页展示,多条件组合分页查询,对讲师的添加,修改,删除操作。 针对于添加来说,使用requestBody注解,搭配postmapping接收数据,使用service层的对象,调用mapper方法,向数据库中保存数据。 修改: 先根据讲师id,查询出讲师,再去…...

Python爬虫实战:获取猫yan电影网最新热门电影数据并做分析,为51观影做参考

一、引言 随着互联网的迅速发展,电影信息获取更加便捷。猫yan电影作为国内知名电影信息平台,提供了丰富电影数据。对于我们而言,获取并分析这些数据,能为用户提供更有价值的观影建议。本文详细介绍使用 Python 的 Scrapy 框架实现猫yan电影数据爬取与分析,为 “五一” 观…...

将有序数组转换为高度平衡二叉搜索树 | 详解与Java实现

文章目录 1. 问题描述2. 方法思路核心思想:分治法 + 递归3. 代码实现Java实现(含注释)4. 复杂度分析5. 关键点解释为何选择中间节点?为何使用 `left + (right - left) / 2` 而非 `(left + right) / 2`?6. 扩展优化迭代法实现(非递归)优化空间7. 总结1. 问题描述 108.将…...

普推知产:商标驳回复审下初步审定公告了!

近日客户的商标驳回复审后终于下初审公告了&#xff0c;经过一年多时间&#xff0c;当时申请时知道这个商标名称会被驳回&#xff0c;因为有相同一模一样的&#xff0c;客户就想要这个名称&#xff0c;因为与创始人的姓名是相关的&#xff0c;普推知产商标老杨经分析后&#xf…...

网工笔记-网络层

概述&#xff1a; 两种观点&#xff1a; 1.面向连接的可靠传输 2.面向无连接的&#xff0c;尽最大努力完成交付数据报服务 虚电路服务&#xff08;可靠传输&#xff09; 数据报服务&#xff08;尽力而为&#xff09; 两者的对比&#xff1a; 不管是虚电路还是数据报服务都是…...

el-Input输入数字自动转千分位进行展示

el-Input输入数字自动转千分位进行展示&#xff0c;存储值不变 子组件&#xff1a; <template><el-input ref"inputRef" :disabled"disabled" clearable v-model"displayValue" v-bind"$attrs" input"handleInput&quo…...