0

0

Vue3中的computed函数详解:方便计算属性的使用的应用

PHPz

PHPz

发布时间:2023-06-18 08:45:16

|

2926人浏览过

|

来源于php中文网

原创

vue是一款非常流行的前端开发框架,它提供了非常方便实用的计算属性computed函数。在vue3中,computed函数也得到了升级和改良,使得它的使用更加简便,效率更高。

computed首先是一个函数,它会返回一个值,这个值可以直接在Vue的模板中使用。computed函数的特殊之处在于,它的返回值会根据所依赖的Vue实例的数据发生变化而动态改变,而且computed函数是惰性求值的,只要依赖的数据没有发生变化,computed函数就不会被重新计算。

在Vue3中,computed函数得到了非常大的改良。以前在Vue2中,如果要使用computed函数,必须向Vue实例中传递一个对象,这个对象包含了getter和setter两个方法,我们要在getter方法中计算出需要的值,然后在setter方法中更新其它的响应式属性。看起来非常繁琐,而且还容易出现重复代码和错误。而在Vue3中,我们只需要在computed函数中直接进行计算,Vue会自动帮我们处理更新的逻辑。

举例来说,我们有一个Vue实例的数据如下:

const vm = Vue.createApp({
  data() {
    return {
      firstName: '张',
      lastName: '三',
    }
  },
  computed: {
    fullName() {
      return this.firstName + this.lastName;
    }
  },
  template: `
{{fullName}}
` }).mount('#app');

这个Vue实例中,我们定义了两个响应式属性firstName和lastName,它们对应着模板中的两个输入框,用户可以在输入框中输入内容。在computed函数中我们定义了一个fullName函数,这个函数返回了firstName和lastName的拼接结果,也就是用户输入的全名。而在template中,我们直接使用了fullName函数。

立即学习前端免费学习笔记(深入)”;

Nimo.space
Nimo.space

智能画布式AI工作台

下载

在上面的例子中,computed函数非常简单,只是进行了一个简单的字符串拼接,但是所有的计算都是在computed函数中完成的,而没有在template中进行计算。这不仅让代码更加清晰易懂,而且提高了性能,因为computed函数只在数据发生变化时才会被重新计算。

在Vue3中,computed函数还提供了一个新的API,它可以让我们在computed函数中定义getter和setter方法,这样我们就可以在getter方法中计算需要的值,而在setter方法中进行数据更新和通知。

const vm = Vue.createApp({
  data() {
    return {
      firstName: '张',
      lastName: '三',
    }
  },
  computed: {
    fullName: {
      get() {
        return this.firstName + this.lastName;
      },
      set(value) {
        const names = value.split(' ');
        this.firstName = names[0];
        this.lastName = names[1];
      }
    }
  },
  template: `
{{fullName}}
` }).mount('#app');

在这个例子中,我们在computed函数中定义了fullName属性,它包含了getters和setters方法。在getter方法中,我们和之前的例子一样计算了fullName的值。而在setter方法中,我们接收了一个参数value,这个参数就是用户输入的fullName。我们在setter方法中将fullName通过空格拆分为firstName和lastName,然后将它们分别赋给Vue实例的对应属性。这样,我们就可以在输入框中输入fullName,然后通过双向绑定将计算结果显示在template中。

总结一下,Vue3中的computed函数大大简化了计算属性的使用。我们可以直接在computed函数中完成所有的计算和更新逻辑,而不用像以前那样手动定义getter和setter方法。这种改良不仅使得代码更加简洁和易懂,而且提高了计算效率和性能。如果您正在使用Vue3,那么强烈建议您使用computed函数来计算和处理数据。

相关专题

更多
PS使用蒙版相关教程
PS使用蒙版相关教程

本专题整合了ps使用蒙版相关教程,阅读专题下面的文章了解更多详细内容。

23

2026.01.19

java用途介绍
java用途介绍

本专题整合了java用途功能相关介绍,阅读专题下面的文章了解更多详细内容。

11

2026.01.19

java输出数组相关教程
java输出数组相关教程

本专题整合了java输出数组相关教程,阅读专题下面的文章了解更多详细内容。

3

2026.01.19

java接口相关教程
java接口相关教程

本专题整合了java接口相关内容,阅读专题下面的文章了解更多详细内容。

2

2026.01.19

xml格式相关教程
xml格式相关教程

本专题整合了xml格式相关教程汇总,阅读专题下面的文章了解更多详细内容。

4

2026.01.19

PHP WebSocket 实时通信开发
PHP WebSocket 实时通信开发

本专题系统讲解 PHP 在实时通信与长连接场景中的应用实践,涵盖 WebSocket 协议原理、服务端连接管理、消息推送机制、心跳检测、断线重连以及与前端的实时交互实现。通过聊天系统、实时通知等案例,帮助开发者掌握 使用 PHP 构建实时通信与推送服务的完整开发流程,适用于即时消息与高互动性应用场景。

13

2026.01.19

微信聊天记录删除恢复导出教程汇总
微信聊天记录删除恢复导出教程汇总

本专题整合了微信聊天记录相关教程大全,阅读专题下面的文章了解更多详细内容。

93

2026.01.18

高德地图升级方法汇总
高德地图升级方法汇总

本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

112

2026.01.16

全民K歌得高分教程大全
全民K歌得高分教程大全

本专题整合了全民K歌得高分技巧汇总,阅读专题下面的文章了解更多详细内容。

155

2026.01.16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Vue 教程
Vue 教程

共42课时 | 6.8万人学习

Vue3.x 工具篇--十天技能课堂
Vue3.x 工具篇--十天技能课堂

共26课时 | 1.4万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号