iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >详解Vuecomputed计算属性是什么
  • 476
分享到

详解Vuecomputed计算属性是什么

Vuecomputed计算属性VuecomputedVue计算属性 2023-03-09 17:03:15 476人浏览 安东尼
摘要

目录1. vue3中的computed函数1.1. 什么是computed1.2. 如何定义computed1.3. computed函数的使用场景1.3.1. 过滤和排序1.3.2

1. Vue3中的computed函数

1.1. 什么是computed

computed属性是Vue3中的一个响应式计算属性,它可以根据其他响应式数据的变化而自动更新其自身的值。computed属性可以接收一个计算函数,并在计算函数中使用其他响应式数据的值进行计算。当任何一个参与计算的响应式数据发生变化时,computed属性会自动重新计算其值,并触发相应的依赖更新。

1.2. 如何定义computed

在Vue3中,你可以通过computed函数来定义一个计算属性。computed函数接收一个计算函数作为参数,并返回一个响应式的ref对象。

下面是一个使用computed函数形式用法的例子:

import { computed, Reactive, ref } from 'vue'
const state = reactive({
  count: 0
})
const doubleCount = computed(() => {
  return state.count * 2
})
console.log(doubleCount.value) // 输出:0
state.count = 1
console.log(doubleCount.value) // 输出:2

在上面的例子中,我们使用computed函数定义了一个计算属性doubleCount,它的值是state.count的两倍。我们可以通过doubleCount.value来访问计算属性的值,并且当state.count的值发生变化时,doubleCount的值也会自动更新。

下面是一个使用computed对象形式用法的例子:

import { computed, reactive } from 'vue'
const state = reactive({
  count: 0
})
const doubleCount = computed({
  get() {
    return state.count * 2
  },
  set(value) {
    state.count = value / 2
  }
})
console.log(doubleCount.value) // 输出:0
doubleCount.value = 6
console.log(state.count) // 输出:3
console.log(doubleCount.value) // 输出:6

1.3. computed函数的使用场景

computed属性通常用于处理需要根据其他响应式数据计算得出的值的情况。下面是一些computed属性的使用场景:

1.3.1. 过滤和排序

当我们需要根据其他响应式数据进行数据过滤和排序时,可以使用computed属性来计算得出过滤和排序后的结果。例如:

import { computed, reactive } from 'vue'
const state = reactive({
  todos: [
    { id: 1, text: '学习Vue3', done: false },
    { id: 2, text: '学习React', done: false },
    { id: 3, text: '学习angular', done: true }
  ],
  filter: 'all'
})
const filteredTodos = computed(() => {
  if (state.filter === 'all') {
    return state.todos
  } else if (state.filter === 'active') {
    return state.todos.filter(todo => !todo.done)
  } else if (state.filter === 'completed') {
    return state.todos.filter(todo => todo.done)
  }
})
console.log(filteredTodos.value) // 输出:[{ id: 1, text: '学习Vue3', done: false }, { id: 2, text: '学习React', done: false }, { id: 3, text: '学习Angular', done: true }]
state.filter = 'active'
console.log(filteredTodos.value) // 输出:[{ id: 1, text: '学习Vue3', done: false }, { id: 2, text: '学习React', done: false }]

在上面的例子中,我们使用computed函数定义了一个计算属性filteredTodos,它根据state.todosstate.filter的值进行过滤,并返回过滤后的结果。当state.filter的值发生变化时,filteredTodos的值也会自动更新。

1.3.2. 数组计算

当我们需要对一个数组进行计算时,可以使用computed属性来计算得出数组的值。例如:

import { computed, reactive } from 'vue'
const state = reactive({
  todos: [
    { id: 1, text: '学习Vue3', done: false },
    { id: 2, text: '学习React', done: false },
    { id: 3, text: '学习Angular', done: true }
  ]
})
const totalTodos = computed(() => {
  return state.todos.length
})
const completedTodos = computed(() => {
  return state.todos.filter(todo => todo.done).length
})
console.log(totalTodos.value) // 输出:3
console.log(completedTodos.value) // 输出:1

在上面的例子中,我们使用computed函数定义了两个计算属性totalTodoscompletedTodos,它们分别计算了state.todos数组的总长度和已完成的数量。当state.todos数组的值发生变化时,totalTodoscompletedTodos的值也会自动更新。

2. computed函数的原理

在Vue3中,computed属性的原理是使用了一个getter函数和一个setter函数来实现。当我们访问计算属性的值时,会调用getter函数进行计算,并将计算结果缓存起来。当参与计算的响应式数据发生变化时,会触发依赖更新,并自动调用getter函数重新计算计算属性的值。当我们修改计算属性的值时,会调用setter函数进行更新。

总结

computed属性是Vue3中的一个响应式计算属性,它可以根据其他响应式数据的变化而自动更新其自身的值。computed属性通常用于处理需要根据其他响应式数据计算得出的值的情况,例如过滤和排序、数组计算等。computed属性的原理是使用了一个getter函数和一个setter函数来实现,并将计算结果缓存起来,以提高性能和减少计算次数。

到此这篇关于详解Vue computed计算属性是什么的文章就介绍到这了,更多相关Vue computed内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 详解Vuecomputed计算属性是什么

本文链接: https://www.lsjlt.com/news/199081.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 详解Vuecomputed计算属性是什么
    目录1. Vue3中的computed函数1.1. 什么是computed1.2. 如何定义computed1.3. computed函数的使用场景1.3.1. 过滤和排序1.3.2...
    99+
    2023-03-09
    Vue computed计算属性 Vue computed Vue计算属性
  • Vuecomputed计算属性详细讲解
    目录一、计算属性computed1.1.什么是计算属性computed1.2.复杂数据的处理-computed1.3.计算属性的缓存1.4.计算属性computed的setter和g...
    99+
    2022-11-13
  • Vue之计算属性详解
    1、何为计算属性:大白话讲就是计算出来的结果保存在属性当中,可以想象为缓存。 <!DOCTYPE html> <html lang="en"> <h...
    99+
    2022-11-12
  • Vue计算属性是什么
    这篇文章主要为大家展示了“Vue计算属性是什么”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Vue计算属性是什么”这篇文章吧。具体内容如下①模板内的表达式实际上...
    99+
    2022-10-19
  • VUE 组件的计算属性详解
    目录前言计算属性总结前言 今天也是元气满满的一天,今天整理一下VUE组件的计算属性!~~开始我们的学习之旅 计算属性 先引用一张图 来看一下计算属性之间的关联: 注意: ...
    99+
    2022-11-13
  • Vue3 计算属性的用法详解
    目录computed 计算属性说明计算属性使用总结注意上一篇博文说了 vue3 项目的 toRefs 函数和 toRef 函数,今天就稍微总结一下 vue3 的计算属性,其实学过 v...
    99+
    2022-11-13
  • Vue计算属性与监视属性实现方法详解
    目录一、计算属性1、插值语法实现2、通过方法实现3、通过计算属性二、监视属性三、深度监视一、计算属性 在开发中,可以有这样的需求,在属性(date)中,有fistName和lastN...
    99+
    2022-11-13
  • 关于Vue中的计算属性和监听属性详解
    目录一、computed计算属性(1)计算属性的缓存(2)计算属性的setter二、watch监听属性一、computed计算属性 Vue.js模板内的表达式非常便利,但是设计它们的...
    99+
    2023-05-20
    Vue 计算属性 Vue 监听属性
  • Vue中监视属性和计算属性的区别是什么
    这篇文章主要讲解了“Vue中监视属性和计算属性的区别是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Vue中监视属性和计算属性的区别是什么”吧!计算属性顾名思义,计算属性就是计算出来的属...
    99+
    2023-07-04
  • Vue.js中的计算属性、监视属性与生命周期详解
    目录前言 计算属性 计算属性介绍 入门案例 统计价格案例getter和setter方法计算属性缓存监视属性 概述 代码总结Vue生命周期初始化阶段 更新阶段 死亡阶段 总结前言 本...
    99+
    2022-11-12
  • 详解Vue3 中的计算属性及侦听器
    目录计算属性缓存getter 和 setter侦听器配置选项其它写法计算属性 我们知道,在模板中可以直接通过插值语法显示一些data中的数据,但是在某些情况,我们可能需要对数据进行一...
    99+
    2022-11-13
    Vue3 计算属性 Vue3 侦听器
  • 关于vue中计算属性computed的详细讲解
    目录1.定义2.用法3.computed的响应式依赖(缓存)4.应用场景附:计算属性的 getter 与 setter总结1.定义 computed是vue的计算属性,是根据依赖关系...
    99+
    2022-11-13
  • Vue中使用计算属性的方法是什么
    这篇文章主要介绍“Vue中使用计算属性的方法是什么”,在日常操作中,相信很多人在Vue中使用计算属性的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Vue中使用计算属性的方法是什么”的疑惑有所帮助!...
    99+
    2023-06-21
  • Vue3计算属性是怎么实现的
    今天小编给大家分享一下Vue3计算属性是怎么实现的的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。计算属性是 Vue.js 开...
    99+
    2023-06-30
  • vue 过滤、模糊查询及计算属性 computed详解
    什么是计算属性 概念 计算属性是vue里面为了简化在模板语法中对响应式属性做计算而存在的 什么时候应该使用计算属性 根据现有响应式的值得到一个新的值 1、结构 <!-- * ...
    99+
    2022-11-13
    vue 过滤 模糊查询 vue计算属性
  • css设计基本属性是什么
    这篇文章主要为大家展示了“css设计基本属性是什么”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“css设计基本属性是什么”这篇文章吧。1.背景属性: (back...
    99+
    2022-10-19
  • 详解CSS中zoom和overflow:auto属性的作用是什么
    今天就跟大家聊聊有关详解CSS中zoom和overflow:auto属性的作用是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。前言其实在CSS中...
    99+
    2022-10-19
  • Vue基础语法之计算属性(computed)、侦听器(watch)、过滤器(filters)详解
    目录1、Vue 实例选项2、计算属性(computed)2.1、computed 的基本用法2.2、computed 作为函数传参2.3、计算属性和函数的区别3、侦听器(watch)...
    99+
    2022-11-13
    vue计算属性侦听器 vue计算属性侦听器 vue过滤器
  • Vue中计算属性、监听属性、数据的响应式更新和依赖收集基本原理是什么
    这篇文章主要介绍“Vue中计算属性、监听属性、数据的响应式更新和依赖收集基本原理是什么”,在日常操作中,相信很多人在Vue中计算属性、监听属性、数据的响应式更新和依赖收集基本原理是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作...
    99+
    2023-07-05
  • vue使用计算属性完成动态滑竿条制作的方法是什么
    本篇内容介绍了“vue使用计算属性完成动态滑竿条制作的方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!布局部分:<div&nb...
    99+
    2023-06-21
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作