当前位置:首页 > 科技  > 软件

Vue3 学习笔记,如何理解 Computed 计算属性

来源: 责编: 时间:2023-12-11 09:27:18 351观看
导读大家好,本篇文章我们继续学习和 Vue 相关的内容,今天我们归纳总结下什么是 computed 计算属性、如何使用和应用场景,以及 computed 和 Method 事件的区别和应用场景。什么是 computed 计算属性Vue.js 中的 computed 计算

7DT28资讯网——每日最新资讯28at.com

大家好,本篇文章我们继续学习和 Vue 相关的内容,今天我们归纳总结下什么是 computed 计算属性、如何使用和应用场景,以及 computed 和 Method 事件的区别和应用场景。7DT28资讯网——每日最新资讯28at.com

什么是 computed 计算属性

Vue.js 中的 computed 计算属性是一种特殊类型的属性,它们的值不是简单地被设置,而是根据其它属性的值计算得出。7DT28资讯网——每日最新资讯28at.com

computed 计算属性是基于它们的依赖进行缓存的,这意味着只有在它们的依赖发生变化时,才会重新计算。这使得它们更高效,因为它们只在需要时才会计算,而不是每次都调用。7DT28资讯网——每日最新资讯28at.com

下面是一个示例,展示了如何使用 computed 计算属性:7DT28资讯网——每日最新资讯28at.com

<template>  <div>    <p>Full name: {{ fullName }}</p>    <input v-model="firstName">    <input v-model="lastName">  </div></template><script>export default {  data() {    return {      firstName: 'John',      lastName: 'Doe'    }  },  computed: {    fullName() {      return this.firstName + ' ' + this.lastName    }  }}</script>

在这个例子中,当 firstName 或 lastName 发生变化时,fullName 会自动重新计算。7DT28资讯网——每日最新资讯28at.com

computed 和 method 事件的区别

与 computed 计算属性不同的是,methods 方法是每次都会调用的,不能进行缓存。如果你需要在每次渲染时都计算一个值,那么使用 methods 方法会更好。7DT28资讯网——每日最新资讯28at.com

下面是一个使用 methods 方法的示例:7DT28资讯网——每日最新资讯28at.com

<template>  <div>    <p>Full name: {{ getFullName() }}</p>    <input v-model="firstName">    <input v-model="lastName">  </div></template><script>export default {  data() {    return {      firstName: 'John',      lastName: 'Doe'    }},  methods: {    getFullName() {      return this.firstName + ' ' + this.lastName    }  }}</script>

在这个例子中,每次渲染时都会调用 getFullName 方法,而不是缓存其结果。7DT28资讯网——每日最新资讯28at.com

总结一下

适用 computed 计算属性的场景是:7DT28资讯网——每日最新资讯28at.com

  • 适合一些简单的操作,比如数组排序或筛选
  • 计算属性可以直接在HTML中使用,像 Data 中的属性一样使用。
  • 当你需要基于其它属性计算一个新的值。
  • 当你需要缓存计算结果,因为这样能提高应用的性能。

适用 methods 方法的场景是:7DT28资讯网——每日最新资讯28at.com

  • 当你需要在每次渲染时都计算一个值。
  • 当你需要执行一些复杂的逻辑或者需要调用外部函数。
  • 方法通常作为事件监听或公共业务逻辑
  • 方法可以当做普通 JS 函数使用

另外,计算属性是可以被观察的,可以被用在指令和计算属性依赖中。而 method 方法不能被观察到,不能用在指令和计算属性依赖中。7DT28资讯网——每日最新资讯28at.com

再举一个例子:

<template>  <div>    <p>Price: {{ price }}</p>    <p>Discount: {{ discount }}%</p>    <p>Discounted price: {{ discountedPrice }}</p>  </div></template><script>export default {  data() {    return {      price: 100,      discount: 10    }  },  computed: {    discountedPrice() {      return this.price * (1 - this.discount / 100)    }  }}</script>

在这个例子中,discountedPrice 是基于 price 和 discount 计算得出的,并且当 price 或 discount 发生变化时,discountedPrice 会自动重新计算。 而如果用 method 实现的话,每次都会计算一遍,而不是只在需要时计算。7DT28资讯网——每日最新资讯28at.com

总之,computed 计算属性是一种高效的方式,能够基于其它属性进行计算并缓存结果,而 methods 方法则是每次都会调用并进行计算。7DT28资讯网——每日最新资讯28at.com

结束

今天的内容就介绍到这里,内容比较简单,希望对你有所帮助。7DT28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-41700-0.htmlVue3 学习笔记,如何理解 Computed 计算属性

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: Mongodb和Elasticsearch计算经纬度哪个性能更好

下一篇: Go 语言字符串使用方式与技巧

标签:
  • 热门焦点
  • 对标苹果的灵动岛 华为带来实况窗功能

    继苹果的灵动岛之后,华为也在今天正式推出了“实况窗”功能。据今天鸿蒙OS 4.0的现场演示显示,华为的实况窗可以更高效的展现出实时通知,比如锁屏上就能看到外卖、打车、银行
  • Redmi Pad评测:红米充满野心的一次尝试

    从Note系列到K系列,从蓝牙耳机到笔记本电脑,红米不知不觉之间也已经形成了自己颇有竞争力的产品体系,在中端和次旗舰市场上甚至要比小米新机的表现来得更好,正所谓“大丈夫生居
  • 6月iOS设备性能榜:M2稳居榜首 A系列只能等一手3nm来救

    没有新品发布,自然iOS设备性能榜的上榜设备就没有什么更替,仅仅只有跑分变化而产生的排名变动,毕竟苹果新品的发布节奏就是这样的,一年下来也就几个移动端新品,不会像安卓厂商,一
  • 5月安卓手机好评榜:魅族20 Pro夺冠

    性能榜和性价比榜之后,我们来看最后的安卓手机好评榜,数据来源安兔兔评测,收集时间2023年5月1日至5月31日,仅限国内市场。第一名:魅族20 Pro好评率:97.50%不得不感慨魅族老品牌还
  • JVM优化:实战OutOfMemoryError异常

    一、Java堆溢出堆内存中主要存放对象、数组等,只要不断地创建这些对象,并且保证 GC Roots 到对象之间有可达路径来避免垃 圾收集回收机制清除这些对象,当这些对象所占空间超过
  • 年轻人的“职场羞耻感”,无处不在

    作者:冯晓亭 陶 淘 李 欣 张 琳 马舒叶来源:燃次元&ldquo;人在职场,应该选择什么样的着装?&rdquo;近日,在网络上,一个与着装相关的帖子引发关注,在该帖子里,一位在高级写字楼亚洲金
  • 小米汽车电池信息疑似曝光:容量101kWh,支持800V高压快充

    7月14日消息,今日一名博主在社交媒体发布了一张疑似小米汽车电池信息的照片,显示该电池包正是宁德时代麒麟电池,容量为101kWh,电压为726.7V,可以预测小
  • OPPO K11采用全方位护眼屏:三大护眼能力减轻视觉疲劳

    日前OPPO官方宣布,全新的OPPO K11将于7月25日正式发布,将主打旗舰影像,和同档位竞品相比,其最大的卖点就是将配备索尼IMX890主摄,堪称是2000档位影像表
  • 英特尔Xe-HP项目终止,将专注Xe-HPC/HPG系列显卡

    据10 月 31 日消息报道,英特尔高级副总裁兼加速计算系统和图形事业部总经理 表示,Xe-HP“ Arctic Sound” 系列服务器 GPU 已经应用于 oneAPI devcloud 云服
Top