日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當(dāng)前位置:首頁 > 科技  > 軟件

Vue3 學(xué)習(xí)筆記,如何理解 Computed 計(jì)算屬性

來源: 責(zé)編: 時間:2023-12-11 09:27:18 244觀看
導(dǎo)讀大家好,本篇文章我們繼續(xù)學(xué)習(xí)和 Vue 相關(guān)的內(nèi)容,今天我們歸納總結(jié)下什么是 computed 計(jì)算屬性、如何使用和應(yīng)用場景,以及 computed 和 Method 事件的區(qū)別和應(yīng)用場景。什么是 computed 計(jì)算屬性Vue.js 中的 computed 計(jì)算

GP428資訊網(wǎng)——每日最新資訊28at.com

大家好,本篇文章我們繼續(xù)學(xué)習(xí)和 Vue 相關(guān)的內(nèi)容,今天我們歸納總結(jié)下什么是 computed 計(jì)算屬性、如何使用和應(yīng)用場景,以及 computed 和 Method 事件的區(qū)別和應(yīng)用場景。GP428資訊網(wǎng)——每日最新資訊28at.com

什么是 computed 計(jì)算屬性

Vue.js 中的 computed 計(jì)算屬性是一種特殊類型的屬性,它們的值不是簡單地被設(shè)置,而是根據(jù)其它屬性的值計(jì)算得出。GP428資訊網(wǎng)——每日最新資訊28at.com

computed 計(jì)算屬性是基于它們的依賴進(jìn)行緩存的,這意味著只有在它們的依賴發(fā)生變化時,才會重新計(jì)算。這使得它們更高效,因?yàn)樗鼈冎辉谛枰獣r才會計(jì)算,而不是每次都調(diào)用。GP428資訊網(wǎng)——每日最新資訊28at.com

下面是一個示例,展示了如何使用 computed 計(jì)算屬性:GP428資訊網(wǎng)——每日最新資訊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>

在這個例子中,當(dāng) firstName 或 lastName 發(fā)生變化時,fullName 會自動重新計(jì)算。GP428資訊網(wǎng)——每日最新資訊28at.com

computed 和 method 事件的區(qū)別

與 computed 計(jì)算屬性不同的是,methods 方法是每次都會調(diào)用的,不能進(jìn)行緩存。如果你需要在每次渲染時都計(jì)算一個值,那么使用 methods 方法會更好。GP428資訊網(wǎng)——每日最新資訊28at.com

下面是一個使用 methods 方法的示例:GP428資訊網(wǎng)——每日最新資訊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>

在這個例子中,每次渲染時都會調(diào)用 getFullName 方法,而不是緩存其結(jié)果。GP428資訊網(wǎng)——每日最新資訊28at.com

總結(jié)一下

適用 computed 計(jì)算屬性的場景是:GP428資訊網(wǎng)——每日最新資訊28at.com

  • 適合一些簡單的操作,比如數(shù)組排序或篩選
  • 計(jì)算屬性可以直接在HTML中使用,像 Data 中的屬性一樣使用。
  • 當(dāng)你需要基于其它屬性計(jì)算一個新的值。
  • 當(dāng)你需要緩存計(jì)算結(jié)果,因?yàn)檫@樣能提高應(yīng)用的性能。

適用 methods 方法的場景是:GP428資訊網(wǎng)——每日最新資訊28at.com

  • 當(dāng)你需要在每次渲染時都計(jì)算一個值。
  • 當(dāng)你需要執(zhí)行一些復(fù)雜的邏輯或者需要調(diào)用外部函數(shù)。
  • 方法通常作為事件監(jiān)聽或公共業(yè)務(wù)邏輯
  • 方法可以當(dāng)做普通 JS 函數(shù)使用

另外,計(jì)算屬性是可以被觀察的,可以被用在指令和計(jì)算屬性依賴中。而 method 方法不能被觀察到,不能用在指令和計(jì)算屬性依賴中。GP428資訊網(wǎng)——每日最新資訊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 計(jì)算得出的,并且當(dāng) price 或 discount 發(fā)生變化時,discountedPrice 會自動重新計(jì)算。 而如果用 method 實(shí)現(xiàn)的話,每次都會計(jì)算一遍,而不是只在需要時計(jì)算。GP428資訊網(wǎng)——每日最新資訊28at.com

總之,computed 計(jì)算屬性是一種高效的方式,能夠基于其它屬性進(jìn)行計(jì)算并緩存結(jié)果,而 methods 方法則是每次都會調(diào)用并進(jìn)行計(jì)算。GP428資訊網(wǎng)——每日最新資訊28at.com

結(jié)束

今天的內(nèi)容就介紹到這里,內(nèi)容比較簡單,希望對你有所幫助。GP428資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-41700-0.htmlVue3 學(xué)習(xí)筆記,如何理解 Computed 計(jì)算屬性

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: Mongodb和Elasticsearch計(jì)算經(jīng)緯度哪個性能更好

下一篇: Go 語言字符串使用方式與技巧

標(biāo)簽:
  • 熱門焦點(diǎn)
Top 主站蜘蛛池模板: 武义县| 轮台县| 石楼县| 托克逊县| 广河县| 滕州市| 珲春市| 含山县| 西城区| 高阳县| 丘北县| 永昌县| 肥西县| 平和县| 监利县| 宣威市| 渭源县| 甘德县| 武威市| 罗平县| 即墨市| 吉水县| 巴彦淖尔市| 同心县| 富民县| 廉江市| 灵璧县| 新河县| 盐亭县| 巴东县| 闻喜县| 大姚县| 原阳县| 游戏| 洮南市| 墨竹工卡县| 德保县| 澎湖县| 孟津县| 小金县| 日喀则市|