7.Vue的compute计算属性

3.8. 【computed】

作用:根据已有数据计算出新数据(和Vue2中的computed作用一致)。

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

<script setup lang="ts" name="App">
  import {ref,computed} from 'vue'

  let firstName = ref('zhang')
  let lastName = ref('san')

  // 计算属性------只读取,不修改
  /* let fullName = computed(()=>{
    return firstName.value + '-' + lastName.value
  }) */

//计算属性有缓存,方法没有缓存
  // 计算属性------既读取又修改
  let fullName = computed({
    // 读取
    get(){
      return firstName.value + '-' + lastName.value
    },
    // 修改
    set(val){
      console.log('有人修改了fullName',val)
      firstName.value = val.split('-')[0]
      lastName.value = val.split('-')[1]
    }
  })


  function changeFullName(){
    fullName.value = 'li-si'
  } 
</script>
相关推荐
Bdygsl2 小时前
前端开发:CSS(2)—— 选择器
前端·css
斯~内克2 小时前
CSS包含块与百分比取值机制完全指南
前端·css·tensorflow
百万蹄蹄向前冲8 小时前
秋天的第一口代码,Trae SOLO开发体验
前端·程序员·trae
努力奋斗18 小时前
VUE-第二季-02
前端·javascript·vue.js
路由侠内网穿透8 小时前
本地部署 SQLite 数据库管理工具 SQLite Browser ( Web ) 并实现外部访问
运维·服务器·开发语言·前端·数据库·sqlite
一只韩非子8 小时前
程序员太难了!Claude 用不了?两招解决!
前端·claude·cursor
JefferyXZF8 小时前
Next.js项目结构解析:理解 App Router 架构(二)
前端·全栈·next.js
Sane8 小时前
react函数组件怎么模拟类组件生命周期?一个 useEffect 搞定
前端·javascript·react.js
gnip9 小时前
可重试接口请求
前端·javascript
若梦plus9 小时前
模块化与package.json
前端