vue3 中 computed 新用法示例小结

下面是关于"vue3 中 computed 新用法示例小结"的完整攻略:

什么是 computed

Vue.js 中,我们可以通过计算属性来简化模板中的表达式,避免过多的逻辑计算,提高代码可维护性。computed 可以自动监听依赖变化,只有当依赖的值发生变化时,才会重新计算返回值。

在 Vue.js 3.0 中,computed 有了几个新的方法和特性,下面我们来了解一下。

新用法示例

示例一:使用 ref 创建计算属性

在 Vue.js 3.0 中,我们可以使用 ref 函数来创建一个响应式对象,它与 Vue.js 2.x 中的 data 类似,可以实现双向绑定。除了创建响应式数据, ref 还可以创建计算属性。

<template>
  <div>
    <input v-model="name" />
    <p>Hello, {{ fullName }}</p>
  </div>
</template>

<script>
import { ref, computed } from 'vue'

export default {
  setup() {
    const name = ref('')
    const fullName = computed(() => {
      return `Mr.${name.value}`
    })
    return {
      name,
      fullName
    }
  }
}
</script>

在上面的例子中,我们使用 ref 函数创建了一个名为 name 的响应式对象,它用于存储用户输入的名字。然后,我们使用 computed 函数创建了一个计算属性 fullName,当 name 发生变化时 fullName 会自动重新计算。

示例二:使用参数重载的 computed 函数

在 Vue.js 3.0 中,computed 函数还支持参数重载,具体如下:

computed(getter: () => any)
computed<T>(options: ComputedOptions<T>)

第一种方式与 Vue.js 2.x 中常用的方式相同,只需要传入一个计算函数即可。第二种方式可以通过对象传递额外的选项,例如:

const count = ref(0)

const plusOne = computed({
  get: () => count.value + 1,
  set: val => {
    count.value = val - 1
  }
})

在上面的例子中,我们创建了一个名为 count 的响应式对象,和使用 computed 函数创建了一个计算属性 plusOne。当读取 plusOne 值时,它会返回 count 的值加 1,当设置 plusOne 值时,它会将新的值减去 1 并赋值给 count 对象。

总结

刚开始学习 Vue.js 3.0 时,除了了解基本概念与语法要点,还需要不断深入理解其新特性和 API,才能更好地使用它开发应用。以上示例只是表面上的改变,更多的API和语法变化需要你通过不断实践去掌握。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:vue3 中 computed 新用法示例小结 - Python技术站

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

相关文章

  • 手把手教你用VUE封装一个文本滚动组件

    让我们逐步介绍如何用Vue封装文本滚动组件。 1. 创建Vue组件 首先,我们需要创建一个Vue组件,在这个组件中实现文本滚动的功能。 <template> <div class="scroll-container"> <div class="scroll-content" ref=&qu…

    Vue 2023年5月29日
    00
  • Vue3+Vite+TS实现二次封装element-plus业务组件sfasga

    下面是详细讲解 “Vue3 + Vite + TS 实现二次封装 element-plus 业务组件”的完整攻略。 一、前言 我们这里使用的框架是 Vue3,构建工具是 Vite,使用 TypeScript 对代码进行静态类型检查。我们将使用 element-plus 作为 UI 组件,同时对其进行二次封装。这样可以使我们的业务组件更加灵活、易用、容易扩展。…

    Vue 2023年5月27日
    00
  • vue3.0-props、computed、自定义事件方式

    我来为您详细讲解一下关于Vue 3.0中的props、computed和自定义事件的使用方法。 Vue 3.0 – Props Props是Vue中用于向子组件传递数据的一种方式。用法如下: 在父组件中,通过在子组件的标签上使用属性(props),向子组件传递数据: <template> <div> <child-compone…

    Vue 2023年5月28日
    00
  • 你知道vue data为什么是一个函数

    你知道vue data为什么是一个函数? 在 Vue.js 中,组件的 data 选项必须是一个返回对象的函数。具体来说,data 属性必须是一个返回一个对象的函数,因为每个组件必须维护一个它私有的状态。如果 data 是一个普通的对象,那么它将被所有共享。 为什么要用函数包裹 data? 让我们来看一个示例: <div id="app&qu…

    Vue 2023年5月28日
    00
  • Vue 实现把表单form数据 转化成json格式的数据

    现在许多前端应用都需要从表单中获取用户数据以便后续处理。在Vue中,我们可以很方便地使用v-model指令来绑定表单元素的值,然后通过相关的事件来处理数据的提交,从而实现将表单数据转化为JSON格式的数据。 下面是实现的详细步骤: 步骤 在Vue组件中定义表单数据,并使用v-model指令来绑定表单元素的值,如下所示: <template> &l…

    Vue 2023年5月28日
    00
  • until封装watch常用逻辑简化代码写法

    我来详细讲解一下“until封装watch常用逻辑简化代码写法”的攻略。 什么是until until是Vue.js中一个常用的指令修饰符,它用于监听数据变化直到满足条件才执行操作。常用语法如下: <!– 监听value值变化,直到其等于一个值为9的时候才执行alert方法 –> <div v-on:click="alert(…

    Vue 2023年5月27日
    00
  • 详解vue为什么要求组件模板只能有一个根元素

    让我来详细讲解一下 “详解 vue 为什么要求组件模板只能有一个根元素”的完整攻略。 1. 为什么会有这个规定 Vue 作为组件化框架,要求组件模板必须只能有一个根元素。这是因为在 Vue 的组件中,一个组件模板要被渲染出来,必须有一个根元素。如果组件模板中有多个根元素,那么在渲染时,Vue 就无法确定哪个元素应该被用作渲染的根元素。 2. 通过示例说明 为…

    Vue 2023年5月27日
    00
  • 详解在Vue中有条件地使用CSS类

    针对“详解在Vue中有条件地使用CSS类”的主题,我为大家准备了以下攻略: 1. 组件属性绑定方式 在Vue中,我们可以使用v-bind指令将一个属性绑定到组件的属性上,通过这种方式,我们就可以很方便地切换元素的样式,来达到我们的需求。 示例1: 利用v-bind指令绑定CSS类 <template> <div :class="{…

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