亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

vue中計(jì)算屬性computed和普通屬性method的區(qū)別小結(jié)

 更新時(shí)間:2024年06月18日 09:53:21   作者:劍九 六千里  
Vue.js中Computed和Methods是兩種常用的數(shù)據(jù)處理方式,本文主要介紹了vue中計(jì)算屬性computed和普通屬性method的區(qū)別小結(jié),具有一定的參考價(jià)值,感興趣的可以了解一下

1. 計(jì)算屬性computed

  • computed是基于它們的依賴項(xiàng)進(jìn)行緩存的。如果依賴項(xiàng)沒有發(fā)生變化,Vue.js 將返回緩存的結(jié)果,而不是重新計(jì)算。這可以大大提高性能,尤其是在處理復(fù)雜的計(jì)算時(shí)。
  • computed是只讀的。一旦在模板中使用了計(jì)算屬性,就不應(yīng)該在組件中修改它的值。如果需要修改,可以將其轉(zhuǎn)換為一個(gè)方法。
  • computed可以返回一個(gè)函數(shù)。這在需要在模板中使用函數(shù)式編程時(shí)很有用。例如,你可以使用 v-for 指令來循環(huán)執(zhí)行一個(gè)函數(shù),并返回一組結(jié)果。
  • computed不需要加小括號(hào)。computed可以向普通屬性一樣,直接使用,不需要額外加小括號(hào)調(diào)用。

Computed 的使用場(chǎng)景包括:

  • 數(shù)據(jù)衍生:當(dāng)需要根據(jù)已有數(shù)據(jù)計(jì)算出新的數(shù)據(jù)時(shí),可以使用計(jì)算屬性。例如,根據(jù)商品的價(jià)格和數(shù)量計(jì)算出總價(jià)。
  • 數(shù)據(jù)過濾和轉(zhuǎn)換:當(dāng)需要對(duì)數(shù)據(jù)進(jìn)行過濾、格式化或轉(zhuǎn)換時(shí),可以使用計(jì)算屬性。例如,將日期格式化為特定的顯示格式。

需要注意的是,計(jì)算屬性只會(huì)在依賴的數(shù)據(jù)發(fā)生變化時(shí)才重新計(jì)算,因此適用于那些相對(duì)穩(wěn)定的數(shù)據(jù)計(jì)算場(chǎng)景。

2. 普通屬性method

  • method在每次調(diào)用時(shí)都會(huì)重新執(zhí)行。不生成緩存。
  • method需要加小括號(hào)調(diào)用method每次使用時(shí),都需要加小括號(hào)調(diào)用。

Methods 的使用場(chǎng)景包括:

  • 事件處理:當(dāng)需要處理用戶交互事件時(shí),可以使用方法。例如,點(diǎn)擊按鈕時(shí)執(zhí)行特定的操作。
  • 復(fù)雜邏輯:當(dāng)需要執(zhí)行復(fù)雜的業(yè)務(wù)邏輯,或者需要進(jìn)行條件判斷和循環(huán)操作時(shí),可以使用方法。

需要注意的是,每次調(diào)用方法時(shí),都會(huì)執(zhí)行其中的代碼,不會(huì)進(jìn)行緩存。因此,如果方法中包含復(fù)雜的計(jì)算邏輯或者涉及頻繁調(diào)用的場(chǎng)景,可能會(huì)對(duì)性能產(chǎn)生影響。

3. 應(yīng)用場(chǎng)景

3.1. computed

  • 復(fù)雜的計(jì)算: 如果你需要在模板中執(zhí)行一個(gè)復(fù)雜的計(jì)算,并且這個(gè)計(jì)算涉及到多個(gè)響應(yīng)式屬性,那么使用計(jì)算屬性是最合適的。
  • 過濾/格式化數(shù)據(jù): 計(jì)算屬性可以用于對(duì)數(shù)據(jù)進(jìn)行過濾或格式化,以便在模板中使用。
  • 依賴于其他屬性: 如果一個(gè)屬性的值取決于其他屬性,并且需要在多個(gè)地方使用,那么使用計(jì)算屬性可以避免代碼冗余。

3.2. method

  • 事件處理method 通常用于處理用戶交互,例如點(diǎn)擊事件、表單提交等。在事件處理函數(shù)中,可以調(diào)用 method 來執(zhí)行相關(guān)的操作。
  • 異步操作method 也可以用于執(zhí)行異步操作。例如,在 method 中可以調(diào)用 API、進(jìn)行數(shù)據(jù)庫查詢等,并在操作完成后執(zhí)行某些操作。
  • 需要在模板中執(zhí)行副作用method 也可以用于執(zhí)行一些需要在模板中執(zhí)行的副作用操作。例如,在 method 中可以修改組件的狀態(tài)、觸發(fā)事件等。

總結(jié):Computed 和 Methods 在 Vue 中有不同的用途和特點(diǎn)。Computed 適用于根據(jù)已有數(shù)據(jù)衍生新數(shù)據(jù)和數(shù)據(jù)過濾/轉(zhuǎn)換場(chǎng)景,并具有緩存機(jī)制優(yōu)化性能;Methods 適用于處理事件和復(fù)雜邏輯的場(chǎng)景。

4. 與偵聽器watch的對(duì)比

  • watch可以用于觀察一個(gè)特定的值,并在值發(fā)生變化時(shí)執(zhí)行某些操作。
  • watch不返回值,而是執(zhí)行副作用。在某些情況下,偵聽器可能更合適,尤其是需要在值發(fā)生變化時(shí)執(zhí)行異步操作時(shí)。

5. 示例

<template>
  <div>
    <!-- 使用 computed 屬性 -->
    <p>Reversed message: {{ reversedMessage }}</p>

    <!-- 使用 method -->
    <p>Uppercase message: {{ uppercaseMessage() }}</p>
  </div>
</template>

<script>
export default {
  data() {
    return {
      message: 'Hello, Vue.js!'
    };
  },
  computed: {
    // Computed property
    reversedMessage() {
      return this.message.split('').reverse().join('');
    }
  },
  methods: {
    // Method
    uppercaseMessage() {
      return this.message.toUpperCase();
    }
  }
};
</script>

到此這篇關(guān)于vue中計(jì)算屬性computed和普通屬性method的區(qū)別小結(jié)的文章就介紹到這了,更多相關(guān)vue computed和method區(qū)別內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家! 

相關(guān)文章

  • Vue學(xué)習(xí)之a(chǎn)xios的使用方法實(shí)例分析

    Vue學(xué)習(xí)之a(chǎn)xios的使用方法實(shí)例分析

    這篇文章主要介紹了Vue學(xué)習(xí)之a(chǎn)xios的使用方法,結(jié)合實(shí)例形式分析了vue.js axios庫的功能及網(wǎng)絡(luò)請(qǐng)求相關(guān)操作技巧,需要的朋友可以參考下
    2020-01-01
  • vue?button的@click方法無效鉤子函數(shù)沒有執(zhí)行問題

    vue?button的@click方法無效鉤子函數(shù)沒有執(zhí)行問題

    這篇文章主要介紹了vue?button的@click方法無效鉤子函數(shù)沒有執(zhí)行問題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • 使用Vue3封裝實(shí)現(xiàn)支持Base64導(dǎo)出的電子簽名組件

    使用Vue3封裝實(shí)現(xiàn)支持Base64導(dǎo)出的電子簽名組件

    這篇文章主要為大家詳細(xì)介紹了使用Vue3封裝實(shí)現(xiàn)支持Base64導(dǎo)出的電子簽名組件的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),有需要的小伙伴可以了解下
    2025-03-03
  • vue中深度選擇器圖文詳解

    vue中深度選擇器圖文詳解

    在Vue的開發(fā)中,我們經(jīng)常會(huì)用到外部組件庫,下面這篇文章主要給大家介紹了關(guān)于vue中深度選擇器的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-06-06
  • Vant如何自定義組件適配iphone底部安全區(qū)

    Vant如何自定義組件適配iphone底部安全區(qū)

    這篇文章主要介紹了Vant如何自定義組件適配iphone底部安全區(qū)問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • Vue 中v-model的完整用法及v-model的實(shí)現(xiàn)原理解析

    Vue 中v-model的完整用法及v-model的實(shí)現(xiàn)原理解析

    這篇文章詳細(xì)介紹了Vue.js中的v-model指令的使用,包括基本用法、原理、結(jié)合不同類型的表單元素(如radio、checkbox、select)以及使用修飾符(如lazy、number、trim)等,感興趣的朋友一起看看吧
    2025-02-02
  • VueJs中的shallowRef與shallowReactive函數(shù)使用比較

    VueJs中的shallowRef與shallowReactive函數(shù)使用比較

    這篇文章主要為大家介紹了VueJs中的shallowRef與shallowReactive函數(shù)的使用比較解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04
  • 詳解VUE的狀態(tài)控制與延時(shí)加載刷新

    詳解VUE的狀態(tài)控制與延時(shí)加載刷新

    本篇文章主要介紹了詳解VUE的狀態(tài)控制與延時(shí)刷新,實(shí)例分析了數(shù)據(jù)延時(shí)到展示的時(shí)候再去刷新的技巧,有興趣的可以了解一下。
    2017-03-03
  • vue用遞歸組件寫樹形控件的實(shí)例代碼

    vue用遞歸組件寫樹形控件的實(shí)例代碼

    最近在vue項(xiàng)目中遇到需要用樹形控件的部分,比如導(dǎo)航目錄是不確定的,所以必須要用樹形結(jié)構(gòu),下面腳本之家小編給大家?guī)砹藇ue用遞歸組件寫樹形控件的實(shí)例代碼,需要的朋友參考下吧
    2018-07-07
  • Vue 自定義指令實(shí)現(xiàn)一鍵 Copy功能

    Vue 自定義指令實(shí)現(xiàn)一鍵 Copy功能

    指令 (Directives) 是帶有 v- 前綴的特殊特性。這篇文章主要介紹了Vue 自定義指令實(shí)現(xiàn)一鍵 Copy的功能,需要的朋友可以參考下
    2019-09-09

最新評(píng)論