vue3+ts的computed属性怎么用?

首先我们要进行引入computed这个属性,然后定义用这个属性的时候我们要先了解这个属性。

这个computed其实分为里两种!一种是仅可读的,还有一种就是即可以读,又可以修改的!

那我们常用的肯定是后者!我们引入方法后,里面直接包一个对象里面装着get()set()两种方法!学习java后端的应该都不陌生!哈哈哈哈哈,然后get就是拿到这个计算的值,直接return回来即可,而set就是要对计算的值进行修改!点击之后,就可以修改这个全名了!

复制代码
<template>
  <div class="person">
    <div>姓:<input type="text" v-model="firstName" /></div>
    <div>名:<input type="text" v-model="lastName" /></div>
    <div>
      全名:<span>{{ fullName }}</span>
    </div>
    <button @click="changeFullName">将全名改为li-si</button>
  </div>
</template>

<script lang="ts" setup name="Person">
import { ref, computed } from "vue";
let firstName = ref("zhang");
let lastName = ref("san");
let fullName = computed({
  get() {
    return (
      firstName.value.slice(0, 1).toUpperCase() +
      firstName.value.slice(1) +
      "-" +
      lastName.value
    );
  },
  set(val) {
    console.log(val);
    const [str1, str2] = val.split("-");
    firstName.value = str1;
    lastName.value = str2;
  },
});
function changeFullName() {
  fullName.value = "li-si";
}
</script>

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

相关推荐
想做后端的前端7 分钟前
WebGL实现FPS游戏
vue.js·游戏·webgl
Csvn17 分钟前
🧩 ESM vs CJS 混用的 7 个「天坑」——从 TypeScript 编译到 Node 与浏览器
前端
Csvn22 分钟前
🎯 Web 性能 API 集合:Performance Observer 的 5 个冷门妙用
前端
Csvn32 分钟前
深入 React 闭包陷阱:从根源上理解并根治 stale closure
前端
whyfail43 分钟前
前端学 Spring Boot(8):接口为什么越用越慢?
前端·spring boot·后端
用户059540174461 小时前
LangChain 记忆测试踩坑实录:这两个坑让我排查了 4 小时
前端·css
程序员黑豆1 小时前
鸿蒙应用开发:@Monitor 装饰器使用教程
前端·harmonyos
用户938515635072 小时前
从零构建《天龙八部》知识库:EPUB 加载→文本分割→向量嵌入→Milvus 存储→RAG 问答,一条链路打通
javascript·人工智能·全栈
SamChan902 小时前
在Web应用中集成PDF多语言翻译功能:PDFTranslator API实战指南
前端·python·ai·pdf·yapi·机器翻译
kyriewen2 小时前
AI Agent 9秒删光了生产数据库——我给自己的项目做了5个紧急检查
前端·ai编程·claude