Vue3 计算属性

news/2025/2/22 4:22:01/

文章目录

  • Vue3 计算属性
    • 概述
    • 选项式API
    • 组合式API

Vue3 计算属性

概述

模板中的表达式虽然方便,但也只能用来做简单的操作。如果在模板中写太多逻辑,会让模板变得臃肿,难以维护。

计算属性默认是只读的,可以通过 getter 和 setter 来创建可写计算属性。

特点:

  • 惰性求值:只有对它访问时才会求值,不是立即执行。
  • 自动缓存:会自动缓存计算属性的值。
  • 声明式依赖追踪:计算属性只会在依赖值发生变化时才会重新计算。

选项式API

<script >
export default {data() {return {message: "hello world",name: "小明",age: 18}},//方法methods: {reverseMethod() {console.log("reverseMethod");return this.message.split("").reverse().join("");},changeUserInfo() {this.userInfo = "小花 28"}},//计算属性computed: {reverseComputed() {console.log("reverseComputed");return this.message.split("").reverse().join("");},// 可写计算属性userInfo: {// getterget() {return this.name + "-" + this.age;},// setterset(newValue) {[this.name, this.age] = newValue.split(" ");}}}
}
</script><template><h1>计算属性(Options)</h1><p>原始值:{{ message }}</p><p>第一次调用方法:{{ reverseMethod() }}</p><p>第二次调用方法:{{ reverseMethod() }}</p><p>第一次调用计算属性:{{ reverseComputed }}</p><p>第二次调用计算属性:{{ reverseComputed }}</p><button @click="message = '你好'">修改message</button><p>{{ userInfo }}</p><button @click="changeUserInfo">修改userInfo</button>
</template>

说明:

进入页面后,会打印了2次“reverseMethod”,说明每次调用方法都会执行一次;打印了1次“reverseComputed”,说明计算属性会缓存。

当点击按钮修改了message属性,会重复上面操作,说明计算属性只有依赖值发生变化时才会重新计算。

组合式API

计算属性返回值类型为一个Ref类型。因此在script标签中使用需要加.value

<script setup>
import { ref, reactive, computed } from 'vue'let message = ref("hello world")
let name = ref("小明")
let age = ref(18)function reverseMethod() {console.log("reverseMethod")return message.value.split("").reverse().join("")
}function changeUserInfo() {userInfo.value = "小花 28"
}// 计算属性
const reverseComputed = computed(() => {console.log("reverseComputed")return message.value.split("").reverse().join("")})// 可写计算属性
let userInfo = computed({// getterget() {return name.value + "-" + age.value},// setterset(newValue) {[name.value, age.value] = newValue.split(" ")}
})
</script><template><h1>计算属性(Options)</h1><p>原始值:{{ message }}</p><p>第一次调用方法:{{ reverseMethod() }}</p><p>第二次调用方法:{{ reverseMethod() }}</p><p>第一次调用计算属性:{{ reverseComputed }}</p><p>第二次调用计算属性:{{ reverseComputed }}</p><button @click="message = '你好'">修改message</button><p>{{ userInfo }}</p><button @click="changeUserInfo">修改userInfo</button>
</template>

http://www.ppmy.cn/news/867359.html

相关文章

dwg文件怎么转换成pdf格式的文件?

dwg文件怎么转换成pdf格式的文件&#xff1f;上个星期五&#xff0c;部门的一个同事从网上下载了一个dwg格式的文件&#xff0c;从来没见过的一种文件格式&#xff0c;用了很多方法来打开这个文件&#xff0c;都以失败告终&#xff0c;最后向我求助。我告诉他&#xff0c;dwg是…

GPG密钥生成与使用教程

以下命令只需Ubuntu用户执行 sudo yum install gnupg 生成密钥 gpg --gen-key 密钥种类选择&#xff1a;键入1 RSA密钥长度&#xff1a;键入1024&#xff08;此操作仅为提高RSA生成的速度 密钥的有效期&#xff08;默认为0选项&#xff09;&#xff1a;回车 真实姓名&…

cad的dwg文件转html文件,dwg转dwf文件怎么打开?

之前和大家分享过CAD转DWF格式怎么转换的相关操作。这里我们都知道&#xff0c;DWF(Web图形格式)是由Autodesk开发的一种不可编辑的开放、安全的文件格式。那么&#xff0c;dwg转dwf文件怎么打开&#xff1f;今日小编就和大家分享一下&#xff0c;具体演示操作如下&#xff1a;…

dwg格式文件怎么打开

dwg文件是什么?相信很多朋友都见过这个文件&#xff0c;但是不知道是什么文件&#xff0c;其实dwg是AutoCAD的图形文件&#xff0c;是二维或三维图形档案。 它可以和多种文件格式进行转化&#xff0c;如dxf、dwf等。但是&#xff0c;dwg文件怎么打开却难住了不少人&#xff0c…

如何将DWG另存为kml文件?

第一步&#xff1a; 在CAD中将DWG另存为 DXF&#xff0c;如下&#xff1a; 注意&#xff1a;&#xff08;中文乱码&#xff09;为了打开的中文不出现乱码&#xff0c;保存DXF文件请选择如下的选项 第二步&#xff1a; 下载安装Bigemap GIS Office download.bigemap.com/bmsetu…

dwg文件怎么打开呢?dwg是啥呢?

学习过绘图AUTO CAD的朋友对dwg文件再熟悉不过了&#xff0c;dwg是二维或三维图形&#xff0c;一般的建筑图纸通信图纸电气图纸都是用cad绘制的&#xff0c;但对于没学习过CAD绘图的朋友对*.dwg文件都是一脸茫然&#xff0c;今天刚好有量产网网友问了编辑dwg文件怎么打开&#…

【过程记录】ArcGIS Pro打开.osgb文件

前言 遥感测绘的同学给我发来三维模型文件&#xff0c;文件格式是.osgb。作为一个非专业人士&#xff0c;完全不清楚如何进行打开&#xff0c;因此本篇就来记录下打开该文件的一种可行方式。 OSGB格式 首先来简单了解下osgb格式是什么。 OSGB的全称Open Scene Gragh Binary…

gtf文件服务器,GTF 文件扩展名: 它是什么以及如何打开它?

了解 GTF 问题 典型的 GTF 开放挑战 Integrated Genome Browser 不在 双击 GTF 文件时&#xff0c;您可能会在操作系统中看到一个对话框&#xff0c;指出 “无法打开此文件类型”。 发生这种情况时&#xff0c;通常是由于 %%os%% 中缺少 Integrated Genome Browser。 由于您的操…