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

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

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

1Sn28资讯网——每日最新资讯28at.com

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

什么是 computed 计算属性

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

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

下面是一个示例,展示了如何使用 computed 计算属性:1Sn28资讯网——每日最新资讯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 会自动重新计算。1Sn28资讯网——每日最新资讯28at.com

computed 和 method 事件的区别

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

下面是一个使用 methods 方法的示例:1Sn28资讯网——每日最新资讯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 方法,而不是缓存其结果。1Sn28资讯网——每日最新资讯28at.com

总结一下

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

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

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

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

另外,计算属性是可以被观察的,可以被用在指令和计算属性依赖中。而 method 方法不能被观察到,不能用在指令和计算属性依赖中。1Sn28资讯网——每日最新资讯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 实现的话,每次都会计算一遍,而不是只在需要时计算。1Sn28资讯网——每日最新资讯28at.com

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

结束

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

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

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

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

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

标签:
  • 热门焦点
  • Redmi Buds 4开箱简评:才199还有降噪 可以无脑入

    Redmi Buds 4开箱简评:才199还有降噪 可以无脑入

    在上个月举办的Redmi Note11T Pro系列新机发布会上,除了两款手机新品之外,Redmi还带来了两款TWS真无线蓝牙耳机产品,Redmi Buds 4和Redmi Buds 4 Pro,此前我们在Redmi Note11T
  • 分布式系统中的CAP理论,面试必问,你理解了嘛?

    分布式系统中的CAP理论,面试必问,你理解了嘛?

    对于刚刚接触分布式系统的小伙伴们来说,一提起分布式系统,就感觉高大上,深不可测。而且看了很多书和视频还是一脸懵逼。这篇文章主要使用大白话的方式,带你理解一下分布式系统
  • 如何正确使用:Has和:Nth-Last-Child

    如何正确使用:Has和:Nth-Last-Child

    我们可以用CSS检查,以了解一组元素的数量是否小于或等于一个数字。例如,一个拥有三个或更多子项的grid。你可能会想,为什么需要这样做呢?在某些情况下,一个组件或一个布局可能会
  • 雅柏威士忌多款单品价格大跌,泥煤顶流也不香了?

    雅柏威士忌多款单品价格大跌,泥煤顶流也不香了?

    来源 | 烈酒商业观察编 | 肖海林今年以来,威士忌市场开始出现了降温迹象,越来越多不断暴涨的网红威士忌也开始悄然回归市场理性。近日,LVMH集团旗下苏格兰威士忌品牌雅柏(Ardbeg
  • 东方甄选单飞:有些鸟注定是关不住的

    东方甄选单飞:有些鸟注定是关不住的

    文/彭宽鸿编辑/罗卿东方甄选创始人俞敏洪带队的&ldquo;7天甘肃行&rdquo;直播活动已在近日顺利收官。成立后一年多时间里,东方甄选要脱离抖音自立门户的传闻不绝于耳,&ldquo;7
  • 阿里大调整

    阿里大调整

    来源:产品刘有媒体报道称,近期淘宝天猫集团启动了近年来最大的人力制度改革,涉及员工绩效、层级体系等多个核心事项,目前已形成一个初步的&ldquo;征求意见版&rdquo;:1、取消P序列
  • 2纳米决战2025

    2纳米决战2025

    集微网报道 从三强争霸到四雄逐鹿,2nm的厮杀声已然隐约传来。无论是老牌劲旅台积电、三星,还是誓言重回先进制程领先地位的英特尔,甚至初成立不久的新
  • 自研Exynos回归!三星Galaxy S24系列将提供Exynos和骁龙双版本

    自研Exynos回归!三星Galaxy S24系列将提供Exynos和骁龙双版本

    年初,全新的三星Galaxy S23系列发布,包含Galaxy S23、Galaxy S23+和Galaxy S23 Ultra三个版本,全系搭载超频版骁龙8 Gen 2,虽同样采用台积电4nm工艺制
  • 到手价3099元起!iQOO Neo8 Pro今日首销:安卓性能最强旗舰

    到手价3099元起!iQOO Neo8 Pro今日首销:安卓性能最强旗舰

    5月23日,iQOO如期举行了新品发布会,全新的iQOO Neo8系列也正式与大家见面,包含iQOO Neo8和iQOO Neo8 Pro两个版本,其中标准版搭载高通骁龙8+,而Pro版更
Top