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

vue3中使用computed

在 Vue 3 中,computed 是一个非常重要的响应式 API,用于声明依赖于其他响应式状态的派生状态。以下是 computed 的详细用法:

1. 基本用法

import { ref, computed } from 'vue'export default {setup() {const firstName = ref('张')const lastName = ref('三')const fullName = computed(() => {return firstName.value + ' ' + lastName.value})return {firstName,lastName,fullName}}
}

2.可写的计算属性

计算属性默认是只读的,但你可以通过提供 get 和 set 函数来创建一个可写的计算属性。

import { ref, computed } from 'vue'export default {setup() {const firstName = ref('张')const lastName = ref('三')const fullName = computed({// getterget() {return firstName.value + ' ' + lastName.value},// setterset(newValue) {[firstName.value, lastName.value] = newValue.split(' ')}})return {firstName,lastName,fullName}}
}

3.计算属性缓存

计算属性会基于它们的响应式依赖进行缓存。只有在相关响应式依赖发生改变时才会重新求值。

const now = computed(() => Date.now())
// 这个计算属性永远不会更新,因为 Date.now() 不是响应式依赖

计算属性和方法的区别:计算属性是基于它们的依赖进行缓存的,而方法总是会在重新渲染时再次执行函数。

// 方法 - 每次访问都会执行
function getFullName() {return firstName.value + ' ' + lastName.value
}// 计算属性 - 只有依赖变化时才会重新计算
const fullName = computed(() => {return firstName.value + ' ' + lastName.value
})

4.最佳实践

避免副作用:计算属性的计算函数应只做计算而不产生副作用(如异步请求或更改 DOM)

避免直接修改计算属性:除非你明确提供了 setter

简化模板:将复杂逻辑移到计算属性中,保持模板简洁

http://www.xdnf.cn/news/8709.html

相关文章:

  • Spark集群架构解析:核心组件与Standalone、YARN模式深度对比(AM,Container,Driver,Executor)
  • kafka之操作示例
  • 大文件上传,对接阿里oss采用前端分片技术。完成对应需求!
  • 【MySQL】第7节|Mysql锁机制与优化实践以及MVCC底层原理剖析
  • ubuntu 安装latex
  • 清除 Ubuntu 磁盘空间
  • 安卓开发用到的设计模式(2)结构型模式
  • 开发者工具箱-鸿蒙金额转换开发笔记
  • R语言学习--Day08--bootstrap原理及误区
  • Ollama01-安装教程
  • 【MySQL】07.表内容的操作
  • Android 16系统源码_自由窗口(一)触发自由窗口模式
  • Gateway全局过滤器:接口耗时统计与黑白名单配置
  • R语言科研编程-柱状图
  • STM32 定时器输出比较深度解析:从原理到电机控制应用 (详解)
  • 黑马点评双拦截器和Threadlocal实现原理
  • 行列式的线性性质(仅限于单一行的加法拆分)
  • 电机控制储备知识学习(五) 三项直流无刷电机(BLDC)学习(四)
  • 思科硬件笔试面试题型解析
  • 7:OpenCV—图像形态学处理
  • 深度学习实战:从图像分类到文本生成的完整案例解析
  • DAY 35 模型可视化与推理
  • 力扣面试150题--求根节点到叶节点数字之和
  • 如何屏蔽mac电脑更新提醒,禁止系统更新(最新有效方法)
  • 5060显卡驱动PyCUDA开发环境搭建
  • 25. 日志装饰器的开发
  • 使用 Go 语言实现完整且轻量级高性能的 MQTT Broker
  • Vue3 Composition API: 企业级应用最佳实践方案
  • SDL2常用函数:SDL_Texture 数据结构及使用介绍
  • 微信小程序数据接收