当前位置: 首页 > 知识库问答 >
问题:

前端 - vue, 计算属性如何赋值?

方焱
2023-12-09

问个问题, vue computed不建议赋值, 因为computed是个只读对象, 但是computed不是有个set吗, 我现在在composition api, setup语法糖中想使用set并且给computed赋值该怎么做呢

共有1个答案

景仲渊
2023-12-09

在 Vue 3 的 Composition API 中,你可以使用 refreactive 函数来创建响应式对象,并使用 set 函数来更新这些响应式对象。

但是,注意在 Vue 的 computed 函数中,我们通常不使用 set 函数来赋值。这是因为 computed 是一个计算属性,它应该只读,并且总是返回根据其依赖关系计算的结果。

如果你需要一个可以改变的值,你可能需要使用一个普通的响应式引用(如 refreactive),然后在需要改变它的地方使用 set 函数。

以下是一个示例:

import { ref, reactive, set } from 'vue';export default {  setup() {    const count = ref(0); // 初始值    const state = reactive({ count });    set(state, 'count', 10); // 修改值    console.log(state.count.value); // 输出 10  },};

在上述代码中,我们首先使用 ref 创建了一个响应式引用 count,然后使用 reactive 创建了一个响应式对象 state,并将 count 作为 state 的一个属性。然后,我们使用 set 函数修改了 state.count 的值。这个修改是响应式的,所以当 state.count 的值改变时,任何依赖于它的地方都会自动更新。

 类似资料:
  • 计算属性 在模板中绑定表达式是非常便利的,但是它们实际上只用于简单的操作。在模板中放入太多的逻辑会让模板过重且难以维护。例如: <div id="example"> {{ message.split('').reverse().join('') }} </div> 在这种情况下,模板不再简单和清晰。在实现反向显示 message 之前,你应该确认它。这个问题在你不止一次反向显示 messag

  • 1. 前言 本节介绍计算属性的使用方法。包括什么是计算属性,计算属性的特点,还有计算属性和方法在实际使用中的区别。其中重点掌握计算属性和方法的区别,了解它之后,才能在日常工作中灵活使用计算属性和方法。 2. 慕课解释 计算属性就是当其依赖属性的值发生变化时,这个属性的值会自动更新,与之相关的DOM部分也会同步自动更新。— 官方定义 计算属性实际上是一个方法,它可以完成各种复杂的逻辑,包括运算、函数

  • 本文向大家介绍Vue计算属性的使用,包括了Vue计算属性的使用的使用技巧和注意事项,需要的朋友参考一下 我们都知道在Vue构造函数的参数对象中有一个【data】属性,该属性值是一个对象,该对象是对数据的代理,是一个键值对并且时刻与页面表现是一致的,但是这里面只能是简单的键值对,不能拥有业务逻辑,并且由于【data】中的属性属于同一个生命周期,所以如果我们需要某一个属性是依赖于另外一个属性时,在【d

  • 比如这段,如何注释掉 default-active="2"

  • 本文向大家介绍Vue计算属性的学习笔记,包括了Vue计算属性的学习笔记的使用技巧和注意事项,需要的朋友参考一下 本文为大家分享了Vue计算属性的学习笔记,供大家参考,具体内容如下 ①模板内的表达式实际上只用于简单的运算,对于复杂逻辑,使用计算机属性。 ②基础例子: 这里我们声明了一个计算机属性reversedMessage,我们提供的函数将用作属性vm.reversedMessage的getter

  • 本文向大家介绍vue计算属性及使用详解,包括了vue计算属性及使用详解的使用技巧和注意事项,需要的朋友参考一下 一、什么是计算属性 模板内的表达式非常便利,但是设计它们的初衷是用于简单运算的。在模板中放入太多的逻辑会让模板过重且难以维护。例如: 这里的表达式包含3个操作,并不是很清晰,所以遇到复杂逻辑时应该使用Vue特带的计算属性computed来进行处理。  二、计算属性的用法 在一个计算属性里