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

vue3中的computed属性

模板界面:

<template><div class="person"><h2>姓: <input type="text" v-model="person.firstName" /></h2><h2>名: <input type="text" v-model="person.lastName" /></h2><button @click="changeFullName">修改全名</button><h2>全名:<label>{{ fullName }}</label></h2><h2>全名:<label>{{ fullName }}</label></h2></div>
</template>

计算属性的使用:
 

<script setup name="computedName">import {reactive,toRefs,computed} from 'vue'const person = reactive({firstName:'张',lastName:'三'})const {firstName,lastName} = toRefs(person)
// 计算属性 默认是只读的 有缓存
// const fullName = computed(() =>{
//     console.log("1");
//     return firstName.value.slice(0,1).toUpperCase() + firstName.value.slice(1) + '-' + lastName.value.slice(0).toLowerCase()
// })// 计算属性 默认是只读的 有缓存
const fullName = computed({get(){console.log("1");return firstName.value.slice(0,1).toUpperCase() + firstName.value.slice(1) + '-' + lastName.value.slice(0).toLowerCase()},set(val){console.log("2");console.log('set',val);const [str1,str2] = val.split('-')firstName.value = str1lastName.value = str2}
})//该方法只是引起computed 中 set方法的调用
function changeFullName(){fullName.value = 'aaa-bbb'console.log(fullName.value);
}
</script>

样式:

<style scoped>
.person {background-color: #ccc;padding: 10px;border-radius: 10px;box-shadow: 0 0 10px;
}
</style>

注意:computed包含缓存,与方法不同,并且computed可以赋新值

http://www.lryc.cn/news/460097.html

相关文章:

  • C++学习笔记之vector容器
  • LeNet-5(论文复现)
  • 基于SpringBoot+Vue+Uniapp汽车保养系统小程序的设计与实现
  • 【问题实战】Jmeter中jtl格式转换图片后如何分开展示各个性能指标?
  • 解决 MySQL 连接数过多导致的 SQLNonTransientConnectionException 问题
  • 猫头虎分享:什么是 ChatGPT 4o Canvas?
  • qiankun 主项目和子项目都是 vue2,部署在同一台服务器上,nginx 配置
  • 深入浅出MongoDB(七)
  • 【华为】配置NAT访问互联网
  • Spring Boot项目使用多线程执行定时任务
  • 【安装JDK和Android SDK】
  • 汇总10个AI免费一键生成PPT的网站
  • 超材料光子晶体和禁带分析实例_CST电磁仿真教程
  • 关于OceanBase数据库的poc测试连接经验(by liuhui)
  • Docker部署如何修改本地mysql,redis连接信息
  • PHP中的ReflectionClass常见用法
  • processing像素画教程
  • 【秋招笔试】10.13字节跳动(已改编)秋招-三语言题解
  • 牛客网上最全的Java八股文整理,涵盖Java全栈技术点
  • Skyeye 云智能制造 v3.14.9 发布,ERP 商城 + AI
  • Element-快速入门
  • 利士策分享,从“亮剑精神”汲取财富智慧
  • 【JavaScript】关于使用JS对word文档实现预览的一些思考
  • 安宝特方案 | AR技术在轨交行业的应用优势
  • K8S配置MySQL主从自动水平扩展
  • Excel:将一列拆分成多列
  • 一款强大灵活的流程图引擎,支持React 和 Svelte 框架
  • 基于STM32 ARM+FPGA+AD的电能质量分析仪方案设计(一)硬件设计
  • LLM - 配置 ModelScope SWIFT 测试 Qwen2-VL 视频微调(LoRA) 教程(3)
  • jmeter实现SSL双向验证