在Vue3中,计算属性可以使用computed函数来定义。

computed函数接受两个参数:第一个参数是一个函数,该函数返回计算属性的值;第二个参数是一个可选的配置对象,可以包含getter和setter函数,以及控制计算属性缓存的缓存配置。

Vue3中的计算属性与Vue2中的计算属性相比有以下几个变化:

  1. 使用computed函数 Vue3中使用computed函数来定义计算属性,而不是Vue2中使用computed属性。

  2. 支持refreactive响应式对象 Vue3中的计算属性不仅支持data对象上的响应式属性,还支持refreactive响应式对象。

  3. 计算属性不再是组件选项 Vue3中的计算属性不再作为组件选项,而是在setup()函数中定义。

  4. 更好的性能 Vue3中的计算属性与Vue2相比具有更好的性能。Vue3通过使用基于Proxy的响应式系统,优化了计算属性的性能。此外,Vue3还引入了缓存策略,以避免计算属性的重复计算。

下面是一个使用Vue3中的computed函数定义计算属性的示例:

import { computed, reactive } from 'vue';

export default {
setup() {
const state = reactive({
firstName: 'John',
lastName: 'Doe'
}); const fullName = computed(() => `${state.firstName} ${state.lastName}`); return { fullName };
}
};

在这个例子中,state对象是使用reactive函数定义的响应式对象。fullName计算属性的值是通过连接state.firstNamestate.lastName获得的。请注意,fullName计算属性是在setup函数中定义的。

你可以在模板中使用fullName计算属性:

<template>
<div>{{ fullName }}</div>
</template>

每当state.firstNamestate.lastName发生更改时,fullName计算属性的值将重新计算。这是因为Vue会自动追踪state.firstNamestate.lastName的依赖关系,并在依赖项发生更改时重新计算计算属性的值。

以下是一个使用computed函数定义计算属性的非常基本的操作示例:

<script>
import { computed } from "vue";
export default {
setup() {
const firstName = "John";
const lastName = "Doe";
const fullName = computed(() => `${firstName} ${lastName}`);
return { fullName };
},
};
</script>

在这个例子中,fullName计算属性的值是通过将firstNamelastName连接起来获得的。注意,由于Vue3使用了Composition API,因此计算属性是在setup函数中定义的。

可以在模板中使用fullName计算属性:

<template>
<div>{{ fullName }}</div>
</template>

每当firstNamelastName发生更改时,fullName计算属性的值将重新计算。这是因为Vue会自动追踪firstNamelastName的依赖关系,并在依赖项发生更改时重新计算计算属性的值。

以下是另一个示例:

<template>
<div>{{ num1 }}---{{ num2 }}---{{ num3 }}</div>
<button @click="add">add</button>
</template>
<script>
import { defineComponent, computed, ref } from "vue"; export default defineComponent({
setup() {
let num1 = ref(10);
let num2 = ref(11);
let num3 = computed(() => {
return num1.value + num2.value;
});
let add = () => {
num1.value++;
};
return {
num1,
num2,
num3,
add,
};
},
});
</script>

vue全家桶进阶之路33:Vue3 计算属性computed的更多相关文章

  1. Vue.js 源码分析(六) 基础篇 计算属性 computed 属性详解

    模板内的表达式非常便利,但是设计它们的初衷是用于简单运算的.在模板中放入太多的逻辑会让模板过重且难以维护,比如: <div id="example">{{ messag ...

  2. Vue 全家桶 + Electron 开发的一个跨三端的应用

    代码地址如下:http://www.demodashi.com/demo/11738.html GitHub Repo:vue-objccn Follow: halfrost · GitHub 利用 ...

  3. Vue全家桶高仿小米商城

    大家好,我是河畔一角,时隔半年再次给大家带来一门重量级的实战课程:<Vue全家桶高仿小米商城>,现在很多公司都在参与到商城的构建体系当中,因此掌握一套商城的标准开发体系非常重要:商城的开始 ...

  4. vue证明题一,vue全家桶的构成

    简单说下vue的构成,当然是简单为主,网上这东西满天飞,简单说几句就ok 1.vue是什么 vue读作view,是一种js框架.只关注于视图层,操作内容包括js,html,css 2.vue全家桶是什 ...

  5. 用 Vue 全家桶二次开发 V2EX 社区

    一.开发背景 为了全面的熟悉Vue+Vue-router+Vuex+axios技术栈,结合V2EX的开放API开发了这个简洁版的V2EX. 在线预览 (为了实现跨域,直接npm run dev部署的, ...

  6. Vue全家桶

    简介 “简单却不失优雅,小巧而不乏大匠”. Vue.js 是一个JavaScriptMVVM库,是一套构建用户界面的渐进式框架.它是以数据驱动和组件化的思想构建的,采用自底向上增量开发的设计. 为什么 ...

  7. 从零开始系列之vue全家桶(3)安装使用vuex

    什么是vuex? vuex:Vue提供的状态管理工具,用于同一管理我们项目中各种数据的交互和重用,存储我们需要用到数据对象. 即data中属性同时有一个或几个组件同时使用,就是data中共用的属性. ...

  8. 使用vue全家桶制作博客网站

    前面的话 笔者在做一个完整的博客上线项目,包括前台.后台.后端接口和服务器配置.本文将详细介绍使用vue全家桶制作的博客网站 概述 该项目是基于vue全家桶(vue.vue-router.vuex.v ...

  9. 转载: 使用vue全家桶制作博客网站 HTML5 移动网站制作的好教程

    使用vue全家桶制作博客网站   前面的话 笔者在做一个完整的博客上线项目,包括前台.后台.后端接口和服务器配置.本文将详细介绍使用vue全家桶制作的博客网站 概述 该项目是基于vue全家桶(vue. ...

  10. Vue全家桶介绍

    一直不清楚全家桶是什么玩意,上网搜了一下,才知道就是平时项目中使用的几个依赖包,下面分享一下 Vue 全家桶介绍 Vue有著名的全家桶系列,包含了vue-router(http://router.vu ...

随机推荐

  1. vTaskList() 介绍

    vTaskList() 使用注意:使用 vTaskList() 前需使能: make menuconfig -> Component config -> FreeRTOS -> En ...

  2. VSCode 快捷键,简化操作

    一. 区域代码快捷键 1. 折叠所有 折叠所有区域代码的快捷: ctrl + k      ctrl + 0 ; 展开所有折叠区域代码的快捷:ctrl +k      ctrl + J ; 2. 按层 ...

  3. MS-08-067 windows smb服务 远程命令执行漏洞

    漏洞概要 MS-08-067是Windows平台中smb服务445端口的远程代码执行漏洞 利用成功可以远程控制主机 影响范围为:windows2000.xp.server 2003.server 20 ...

  4. Java并发小结01

    Java并发小结01 主要参考自<实战Java高并发程序设计>. 需要知道的概念 - 同步与异步 - 并发与并行 - 临界区 - 阻塞与非阻塞 - 死锁.饥饿.活锁 同步与异步 同步:同步 ...

  5. 全网最详细中英文ChatGPT接口文档(一)开始使用ChatGPT——导言

    目录 Introduction 导言 Overview 概述 Key concepts 关键概念 Prompts and completions 提示和完成 Tokens 标记/符号 Models 模 ...

  6. 设计师必备:免费素材管理工具Billfish v3.0更新了!

    ​​Billfish是专门为设计师打造的图片收藏管理工具,可以轻松管理您的各种素材文件.Billfish是一个免费的软件,支持对大量的图片素材进行管理,提供多种快速的检索筛选功能,如颜色,格式,方向, ...

  7. 改进 hibernate-validator,新一代校验框架 validator 使用介绍 v0.4

    项目介绍 java 开发中,参数校验是非常常见的需求.但是 hibernate-validator 在使用过程中,依然会存在一些问题. validator 在 hibernate-validator ...

  8. 在Winform分页控件中集成导出PDF文档的功能

    当前的Winform分页控件中,当前导出的数据一般使用Excel来处理,Excel的文档可以用于后期的数据展示或者批量导入做准备,因此是比较好的输入输出格式.但是有框架的使用客户希望分页控件能够直接导 ...

  9. 大数据面试——HDFS

    一.Hadoop1.0 与 Hadoop2.0的区别

  10. Teamcenter_NX集成开发:通过NXOpen查询零组件是否存在

    之前用过NXOpen PDM的命名空间下的类,现在记录一下通过PDM命名空间下的类查询Teamcenter零组件的信息,也可以用来判断该零组件是否存在. 1-该工程为DLL工程,直接在NX界面调用,所 ...