VUE---计算属性computed

news2024/12/24 11:32:09
概念: 基于 现有的数据 ,计算出来的 新属性 依赖 的数据变化, 自动 重新计算
语法:
        ① 声明在 computed 中,一个计算属性对应一个函数

        ② 使用起来和普通属性一样使用 {{ 计算属性名 }},注意不加小括号

computed: {
    计算属性名() {
        计算逻辑代码
        // 结果是必须返回的
        return 结果 
    }
}

完整语法:

计算属性的默认简写,只能读取访问,不支持修改;如果要修改计算属性的值,则需要用计算属性的完整写法。

computed: {
    计算属性名() {
        get() {
            // 当计算结果时,get就会执行
             计算逻辑代码
            // 结果是必须返回的
            return 结果 
        },
        set(修改的值) {
            // 直接修改计算属性的结果时,set就会执行。且形参表示的是计算属性修改后的值
             修改逻辑代码
        }
    }
}

computed具有缓存特性:

        计算属性会对计算出来的结果缓存,再次使用直接读取缓存, 依赖项变化了,会自动重新计算 , 并再次缓存。此缓存特性,可提升性能。

计算属性默认写法----html如下:

   <table>
      <tr>
        <th>名字</th>
        <th>数量</th>
      </tr>
      <tr v-for="(item, index) in list" :key="item.id">
        <td>{{ item.name }}</td>
        <td>{{ item.num }}个</td>
      </tr>
    </table>
    <p>总数:{{ totalCount }} 个</p>

计算属性默认写法----data数据如下:

        list: [
          { id: 1, name: '钢笔', num: 1 },
          { id: 2, name: '圆珠笔', num: 2 },
          { id: 3, name: '铅笔', num: 5 },
        ]

计算属性默认写法----计算属性如下:

      computed: {
        totalCount () {
          // 计算属性函数内部,可以直接通过 this 访问到 app 实例
          let total = this.list.reduce((sum, item) => sum + item.num, 0)
          return total
        }
      }

计算属性默认写法----html如下:

  <div id="app">
    姓:<input type="text" v-model="firstName"> +
    名:<input type="text" v-model="lastName"> =
    <span>{{ fullName }}</span><br><br>
    
    <button @click="changeName">改名卡</button>
  </div>

计算属性默认写法----data数据如下:

      data: {
        firstName: '刘',
        lastName: '备',
      },
      methods: {
        changeName () {
          this.fullName = '黄忠'
        }
      },

计算属性默认写法----计算属性如下:

      computed: {
        fullName: {
          get () {
            return this.firstName + this.lastName
          },
          set (value) {        
            this.firstName = value.slice(0, 1)
            this.lastName = value.slice(1)
          }
        }
      }

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

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

相关文章

window系统安装MySQL

一、下载 MySQL 官网在线下载&#xff1a; https://www.mysql.com/ 二、开始安装 2.1 安装类型选项 developer default&#xff08;开发者默认&#xff09;&#xff1a;安装 mysql 开发所需的所有产品 server only&#xff08;服务器&#xff09;&#xff1a;只安装 mysql 服…

最大公共子串

解题思路&#xff1a; 解题代码&#xff1a; UP主运用的方法很巧妙。厉害。

打架识别摄像机

随着社会治安问题的增加&#xff0c;打架事件在公共场所频繁发生&#xff0c;给社会治安带来了一定程度的威胁。因此&#xff0c;为了提高公共场所的安全性&#xff0c;可以利用现代科技&#xff0c;如人工智能和摄像技术&#xff0c;开发一种打架识别摄像机。 这种摄像机可以通…

js封装根据年月日获取星座效果demo(整理)

//根据年月日获取星座 function getZodiacSign(dateString) {// 用法:const dateStr 2024-01-11;// const zodiacSign getZodiacSign(dateStr);const date new Date(dateString);const month date.getMonth() 1;const day date.getDate();if ((month 1 && day &…

Rust-变量

Rust的变量必须先声明后使用。对于局部变量&#xff0c;最常见的声明语法为&#xff1a; let variable:i32 100;与传统的C/C语言相比&#xff0c;Rust的变量声明语法不同。这样设计主要有以下几个方面的考虑。 语法分析更容易 从语法分析的角度来说&#xff0c;Rust的变量声明…

Qt QGraphicsItem获取鼠标位置对应图像坐标

本次使用了QGraphicsView来加载图像&#xff0c;然后给其设置了一个QGraphicsScene场景&#xff0c;再给场景添加了一个自定义的QGraphicsItem&#xff0c;在其中重写了paint事件&#xff0c;用来重绘图像。 正常情况时&#xff0c;QGraphicsItem上图像的有效区域QRect大小和QG…

ChatGLM-6B使用、微调、训练

介绍 由清华大学知识工程 (KEG) 实验室和智谱AI公司与2023年共同训练的语言模型。ChatGLM-6B 参考了 ChatGPT 的设计思路&#xff0c;在千亿基座模型 GLM-130B 中注入了代码预训练&#xff0c;通过有监督微调等技术实现与人类意图对齐&#xff08;即让机器的回答符合人类的期望…

Java LeetCode刷题 单调栈

单调栈 单调栈概念 每日温度 单调栈 概念 单调栈&#xff08;Monotonic Stack&#xff09;是一个特殊的数据结构&#xff0c;它是一种栈&#xff0c;但具有单调性的特性。单调栈有两种类型&#xff1a;单调递增栈和单调递减栈。 在单调递增栈中&#xff0c;栈内的元素保持递…

客户管理系统平台是什么?客户关系管理系统的核心主要解决哪些问题?

客户管理系统平台是什么&#xff1f;客户关系管理系统的核心主要解决哪些问题&#xff1f; 阅读本文你将了解&#xff1a;一、客户管理系统平台的概念&#xff1b;二、客户关系管理系统的核心。 一、客户管理系统平台的概念 客户管理系统是专门为做好客户信息收集、管理、分…

chromedriver 114以后版本下载地址

谷歌浏览器版本经常会升级&#xff0c;chromedriver 也得下载匹配的版本 chromedriver 114以前版本下载地址https://registry.npmmirror.com/binary.html?pathchromedriver/ 找到匹配浏览器版本 查看自己浏览器版本号v120.0 v120.0版本chromedriver下载地址https://google…

图灵机:计算机科学的奠基之作

图灵机的概念由英国数学家阿兰图灵在1936年提出&#xff0c;这个时期正是计算机科学的黎明时分。那个时候&#xff0c;人们还在使用机械计算器进行计算&#xff0c;而且这些计算器的功能都非常有限。 图灵提出这个概念的初衷&#xff0c;是为了解决所谓的“判定问题”&#xf…

gazebo模型库目录(国内源)

这个是比较普遍的&#xff0c;一般用途&#xff1a; GitCode - 开发者的代码家园https://gitcode.com/geniusChinaHN/osrf.gazebo_models/tree/master/ambulance这个主要是车辆&#xff1a; car_demo: osrf汽车模型库https://gitee.com/geniuschinahn/car_demo还有这个是以前…

(26)Linux 进程通信之共享内存(共享储存空间)

共享内存是System V版本的最后一个进程间通信方式。共享内存&#xff0c;顾名思义就是允许两个不相关的进程访问同一个逻辑内存&#xff0c;共享内存是两个正在运行的进程之间共享和传递数据的一种非常有效的方式。不同进程之间共享的内存通常为同一段物理内存。进程可以将同一…

多无人机编队避障(人工势场法)

matlab2020正常运行&#xff0c;预设编队类型&#xff0c;目标位置&#xff0c;障碍物 多无人机编队避障&#xff08;人工势场法&#xff09;资源-CSDN文库

蓝桥杯单片机组备赛——蜂鸣器和继电器的基本控制

文章目录 一、蜂鸣器和继电器电路介绍二、题目与答案2.1 题目2.2 答案2.3 重点函数解析 一、蜂鸣器和继电器电路介绍 可以发现两个电路一端都接着VCC&#xff0c;所以我们只要给另一端接上低电平就可以让蜂鸣器和继电器进行工作。与操作LED类似&#xff0c;只不过换了一个74HC5…

SpringBoot 引入分页插件 PageHelper

官网 https://pagehelper.github.io/docs/howtouse/ 引入步骤 第1步&#xff1a;引入依赖 <!--分页插件--> <dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper</artifactId><version>5.3.2</ver…

适用于 Windows 的 12 个最佳免费磁盘分区管理器软件

分区是与其他部分分开的硬盘驱动器部分。它使您能够将硬盘划分为不同的逻辑部分。分区软件是一种工具&#xff0c;可帮助您执行基本选项&#xff0c;例如创建、调整大小和删除物理磁盘的分区。许多此类程序允许您更改磁盘片的标签以便于识别数据。 适用于 Windows 的 12 个最佳…

rime中州韵小狼毫 生字注音滤镜 汉字注音滤镜

在中文环境下&#xff0c;多音字是比较常见的现象。对于一些不常见的生僻字&#xff0c;或者一些用于地名&#xff0c;人名中的常见字的冷门读音&#xff0c;如果不能正确的阅读&#xff0c;例如把 荥阳 读成了 miāo yng&#xff0c;则会怡笑大方。 今天我们在rime中州韵小狼…

python 文件夹中 __init__.py

common文件夹下有&#xff1a;project&#xff0c;__init__.py&#xff0c;common1.py project文件夹内有&#xff1a;__init__.py&#xff0c;p.py common文件夹里&#xff0c;project文件夹 各放了一个 __init__.py 这样就可以在p.py内用from导入common1.py内的代码 # p…

第11章 GUI Page495~496 步骤三十一:另存为别的文件,为TrySaveFile()入参设置一些位操作

工程二 头文件中为TrySaveFile()入参设置一些位操作&#xff0c;修改一下TrySaveFile()的入参类型 修改TrySaveFile()的实现&#xff1a; 修改“保存”菜单项挂接事件响应函数: 修改“另存为”菜单项挂接事件响应函数