Vue3 computed初始化获取设置值实现示例

首先,让我们了解Vue3中computed的使用方式。 在Vue3中,computed不再是选项,它变成了函数。 计算属性的本质仍然是基于依赖项进行缓存的值,但现在您必须显式地自定义getter和setter函数。

创建Computed属性

要创建计算属性,请将一个函数传递给computed()函数。该函数被定义为getter函数,在计算属性的依赖项发生更改时,该getter函数会被重新计算。

下面是一个计算属性的示例代码:

import { computed } from 'vue'

const exampleValue = 2;
const computedValue = computed(() => {
  return exampleValue * 2;
})

console.log(computedValue.value) // 4

exampleValue = 4;
console.log(computedValue.value) // 8

在此示例中,我们创建了一个名为computedValue的计算属性,它的值是exampleValue的两倍。我们可以通过computedValue.value来访问该属性的值。 计算属性将保持更新,只要它所依赖的任何值发生更改。

computed属性的初始化

您可以在计算属性的getter函数中执行一次性初始化,来设置默认值。您可以这样实现:

import { computed } from 'vue'

const exampleValue = 2;
const computedValue = computed(() => {
  if (!computedValue.initialized) {
    computedValue.value = exampleValue * 2;
    computedValue.initialized = true;
  }
  return computedValue.value;
})

console.log(computedValue.value) // 4

exampleValue = 4;
console.log(computedValue.value) // 4

在这个例子中,我们在getter函数中添加了一个检查,以检查computed属性是否已经进行了初始化。 如果尚未进行初始化,则我们设置了computedValue.value的初始值,并将initialized设置为true。 在执行此操作后,我们仅返回computedValue.value的当前值

存在依赖项时computed属性的设置值实现

在Vue3中,使用计算属性的setter更新计算属性的值。 setter函数接收新的值并更新计算属性值。下面是一个计算属性的setter示例:

import { computed } from 'vue'

const exampleValue = 2;
const computedValue = computed({
  get: () => {
    return exampleValue * 2;
  },
  set: (newVal) => {
    exampleValue = newVal / 2;
  }
})

console.log(computedValue.value) // 4

computedValue.value = 8;
console.log(exampleValue) // 4

在此示例中,我们创建了一个名为computedValue的计算属性,它基于exampleValue的值。 setter函数被定义为将新值除以2的函数,以更新exampleValue

总结:

在Vue3中computed不再是选项,它变成了函数。计算属性的本质仍然是基于依赖项进行缓存的值,但现在您必须显式地自定义getter和setter函数。要创建计算属性,请将一个函数传递给computed()函数。计算属性将保持更新,只要它所依赖的任何值发生更改。您可以在计算属性的getter函数中执行一次性初始化,来设置默认值。setter函数接收新的值并更新计算属性值。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Vue3 computed初始化获取设置值实现示例 - Python技术站

(0)
上一篇 2023年5月28日
下一篇 2023年5月28日

相关文章

  • ES6中异步对象Promise用法详解

    ES6中异步对象Promise用法详解 什么是Promise Promise是 ES6 引入,用于异步编程的一种解决方案。简单来说,Promise就是一个代表了异步操作的对象,该对象可以用来获取异步操作结果。Promise 对象在异步操作的初始阶段就返回给调用方一个代表结果的“承诺”,以后当异步操作完成时,Promise 会根据异步操作的结果,改变自己的状态…

    Vue 2023年5月28日
    00
  • vue.js异步上传文件前后端实现代码

    下面我会详细地讲解“Vue.js异步上传文件前后端实现代码”的完整攻略。 准备工作 在正式开始编写代码之前,我们需要进行一些准备工作: 确认后端服务器是否支持文件上传,并且上传的文件大小是否有限制。 安装Vue.js插件vue-file-upload,它提供了非常方便的上传文件功能。 前端实现 添加上传组件 首先,我们需要在页面中添加上传组件。可以使用vue…

    Vue 2023年5月28日
    00
  • 基于Vue 2.0的模块化前端 UI 组件库小结

    我给您讲解一下关于“基于Vue 2.0的模块化前端 UI 组件库小结”的完整攻略。 什么是Vue 2.0的模块化前端 UI 组件库 Vue 2.0的模块化前端 UI 组件库是一种基于Vue.js 2.0的前端框架,用于构建和管理UI组件库。这种框架将UI组件库分解成多个小型、可重用、独立的部件,每个部件都有自己的样式和功能。通过使用这些组件,您可以创建一系列…

    Vue 2023年5月27日
    00
  • Vue3 源码导读(推荐)

    下面就详细讲解一下“Vue3 源码导读(推荐)”的完整攻略。 概述 在Vue.js开发过程中,我们都知道Vue.js是一个非常好用的MVVM框架,而Vue.js3的发布也备受关注。Vue.js 3.0采用完全重写的方式,核心代码相比2.x版本变化较大,提高了性能。 导读 为了能够更好地学习Vue.js 3.0,我们需要先了解Vue.js 3.0的源码结构和架…

    Vue 2023年5月27日
    00
  • Vue SPA单页面的应用和对比

    Vue SPA单页面的应用和对比 一、Vue SPA单页面的应用 Vue.js是一个渐进式的JavaScript框架,因其易上手、高效、灵活而备受欢迎。Vue.js以组件化的形式构建应用程序,并在整个程序中维护单一状态树。这种设计风格使得Vue.js非常适合于单页应用。 单页应用是指在同一个页面中动态地更新视图,而不是跳转到另一个页面。Vue.js使用内置的…

    Vue 2023年5月27日
    00
  • el-date-picker日期选择限制范围的实例代码

    下面是关于el-date-picker日期选择限制范围的实例代码的完整攻略。 1. 前置知识 在讲解实例代码之前,我们需要掌握以下基本知识: el-date-picker是一个基于element-ui的日期选择器组件; el-date-picker可以通过picker-options属性限制日期选择的范围; picker-options中可以设置disabl…

    Vue 2023年5月29日
    00
  • VUE +Element 实现多个字段值拼接功能

    下面是关于“VUE +Element 实现多个字段值拼接功能”的完整攻略: 1. 确认需求 在进行编码前,我们需要先明确要实现的功能。根据需求,我们需要实现一个多个字段值拼接的功能,要求: 用户可以选择要拼接的字段; 拼接后的结果应该可以复制到剪贴板中; 支持对拼接字段的顺序进行调整。 2. 安装 Element 接下来,我们需要安装 Element。在 V…

    Vue 2023年5月29日
    00
  • Vue源码之关于vm.$delete()/Vue.use()内部原理详解

    Vue源码之关于vm.$delete()/Vue.use()内部原理详解 Vue.$delete()方法 在Vue中,我们可以使用vm.$delete()方法从Vue实例或嵌套对象中删除响应式属性。这个方法是私有的,也就是说它只存在于Vue内部,并没有对外暴露。下面我们来详细讲解一下Vue.$delete()方法的内部原理。 源码解析 Vue.$delete…

    Vue 2023年5月28日
    00
合作推广
合作推广
分享本页
返回顶部