最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue計算屬性及函數(shù)的選擇

 更新時間:2022年05月08日 16:57:07   作者:??劉溜溜????  
這篇文章主要介紹了vue計算屬性及函數(shù)的選擇,文章圍繞主題的相關資料展開詳細介紹,需要的小伙伴可以參考一下

一、計算屬性

使用場景

從已有的數(shù)據(jù)A中計算等到的新的數(shù)據(jù)B,使用計算屬性。

如果一個結果需要依賴data中的數(shù)據(jù),但是需要經(jīng)過一些邏輯處理,才能得到你想要的數(shù)據(jù)。此時就可以使用計算屬性。

定義格式

在vue實例中,補充computed配置項

普通寫法

{
    data(){},
    methods: {}
    // 聲明計算屬性
    computed: {
        //屬性名字(計算屬性名稱)
        //屬性的值(計算屬性處理函數(shù))
        計算屬性名1 () {
            // 對依賴的數(shù)據(jù)進行處理,且進行return
            return
        },
        計算屬性名2 () {
            // 對依賴的數(shù)據(jù)進行處理,且進行return
            return
        }
    }
}

computed是vue的配置選項,它的值是一個對象,其中可定義多個計算屬性,每個計算屬性就是一個函數(shù)。

  • 屬性名稱: 計算屬性的名稱
  • 屬性的值:計算屬性的素材函數(shù)
    • 對需要依賴的數(shù)據(jù),進行邏輯上的處理
    • 處理完畢后,需要return出去,返回的值就是計算屬性的值

使用格式

在兩個地方使用:

  • 模板
    • 用插值表達式 {{計算屬性名}}
    • 用其它指令
  • 在實例內
    • this.計算屬性名

示例 —— 數(shù)組求和

<template>
  <div id="app">
    <p>求和:{{ sum1 }}</p>
  </div>
</template>

<script>
export default {
  data () {
    return {
      arr: [1,2,3,4]
    }
  },
  computed: {
    sum1(){
      // 對依賴的數(shù)據(jù)進行處理,且進行return
      return this.arr.reduce((sum, item)=>sum + item, 0)
    }
  }
}
</script>

在模板中使用計算屬性,和使用data的方式是一樣的。

雖然在計算屬性中聲明的是函數(shù),但是在模板是使用,當做的數(shù)據(jù)來使用。不需要加括號。

小結:

  • 什么時間用:需要對數(shù)據(jù)進行復雜的邏輯加工,產生新的數(shù)據(jù)時。
  • 定義: 就是一個特殊的配置項computed。其中有多個函數(shù)。
  • 使用:計算屬性的使用方式與data中的數(shù)據(jù)項一致;
  • 計算屬性-計算:這個值是對原數(shù)據(jù)進行計算之后得到的新的數(shù)據(jù)
  • 計算屬性-屬性:它的使用方法與原數(shù)據(jù)一樣。this.計算屬性名,{{計算屬性名}}
  • 執(zhí)行的時機: 如果計算屬性中依賴的數(shù)據(jù)項變化時,它會自動調用。

computed有緩存

示例:

<template>
  <div id="app">
    <p>求和:{{ sum1 }}</p>
    <p>求和:{{ sum1 }}</p>
    <p>求和:{{ sum1 }}</p>
  </div>
</template>

<script>
export default {
  data () {
    return {
      arr: [1,2,3,4]
    }
  },
  computed: {
    sum1(){
      // 求arr的和,并返回
      // 如果arr變化了,計算屬性會重新計算
      console.log('計算屬性被調用了')
      return this.arr.reduce((sum, item)=>sum + item, 0)
    }
  }
}
</script>

結果:

  • 從上面的示例中可以看到,計算屬性在模板中被調用了三次,但控制臺只打印了一次,這是因為計算屬性執(zhí)行前會先從緩存中查找有沒有這個數(shù)據(jù),如果有就不會執(zhí)行。
  • 計算屬性的執(zhí)行機制就像我們查字典一樣
    • 如果要計算的數(shù)據(jù)在緩存中能找到,就不會再執(zhí)行函數(shù),而是直接拿取數(shù)據(jù)。

二、總結

當我們在模板中來顯示一份經(jīng)過對數(shù)據(jù)項進行復雜計算之后的結果時,我們有兩種解決方案:

  • 計算屬性
  • 函數(shù)

如何選擇:

  • methods定義函數(shù),如果在模板中使用,每使用一次,就相當于調用了一次,處理邏輯會重新執(zhí)行。
  • computed定義計算屬性,如果在模板中使用,使用多次,但是如果依賴的數(shù)據(jù)不發(fā)生改變,計算屬性對應的函數(shù)不會重新執(zhí)行。
    • 計算屬性會做緩存,提高渲染的性能。

到此這篇關于vue計算屬性及函數(shù)的選擇的文章就介紹到這了,更多相關vue計算屬性內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • vue-cli解決IE瀏覽器sockjs-client錯誤方法

    vue-cli解決IE瀏覽器sockjs-client錯誤方法

    這篇文章主要為大家介紹了vue-cli解決IE瀏覽器sockjs-client錯誤方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-08-08
  • Vue頁面內公共的多類型附件圖片上傳區(qū)域并適用折疊面板(示例代碼)

    Vue頁面內公共的多類型附件圖片上傳區(qū)域并適用折疊面板(示例代碼)

    本文中實現(xiàn)的附件上傳區(qū)域支持超多類型附件分類型上傳,并且可根據(jù)特定條件具體展示某些類型的附件上傳,本文給大家分享Vue頁面內公共的多類型附件圖片上傳區(qū)域并適用折疊面板的示例代碼,需要的朋友參考下吧
    2021-12-12
  • vue-cli3在main.js中console.log()會報錯的解決

    vue-cli3在main.js中console.log()會報錯的解決

    這篇文章主要介紹了vue-cli3在main.js中console.log()會報錯的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • 八個一看就覺得很棒的Vue開發(fā)技巧分享

    八個一看就覺得很棒的Vue開發(fā)技巧分享

    在用Vue開發(fā)的這幾年里,我學到了很多有用的技巧,所以這篇文章主要給大家分享介紹了八個一看就覺得很棒的Vue開發(fā)技巧,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-04-04
  • vue+echarts圖表使用的問題記錄

    vue+echarts圖表使用的問題記錄

    由于在項目中需要對數(shù)據(jù)進行可視化處理,也就是用圖表展示,眾所周知echarts是非常強大的插件,所以這篇文章主要給大家介紹了關于vue+echarts圖表使用的相關資料,需要的朋友可以參考下
    2021-09-09
  • Vue.js動態(tài)添加、刪除選題的實例代碼

    Vue.js動態(tài)添加、刪除選題的實例代碼

    這篇文章主要介紹了Vue.js動態(tài)添加、刪除選題的實例代碼,非常不錯具有參考借鑒價值,需要的朋友可以參考下
    2016-09-09
  • element滾動條組件el-scrollbar的使用詳解

    element滾動條組件el-scrollbar的使用詳解

    本文主要介紹了element滾動條組件el-scrollbar的使用詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-04-04
  • VUE中V-IF條件判斷改變元素的樣式操作

    VUE中V-IF條件判斷改變元素的樣式操作

    這篇文章主要介紹了VUE中V-IF條件判斷改變元素的樣式操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨想過來看看吧
    2020-08-08
  • Vue使用lodash進行防抖節(jié)流的實現(xiàn)

    Vue使用lodash進行防抖節(jié)流的實現(xiàn)

    本文主要介紹了Vue使用lodash進行防抖節(jié)流的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-04-04
  • 基于Element-Ui封裝公共表格組件的詳細圖文步驟

    基于Element-Ui封裝公共表格組件的詳細圖文步驟

    在平時開發(fā)的時候很多情況都會使用到表格和分頁功能,下面這篇文章主要給大家介紹了關于如何基于Element-Ui封裝公共表格組件的詳細圖文步驟,需要的朋友可以參考下
    2022-09-09

最新評論

彭泽县| 旌德县| 千阳县| 宣武区| 抚远县| 龙岩市| 双城市| 翼城县| 陇南市| 宣化县| 双桥区| 茌平县| 北票市| 鄯善县| 衡阳市| 南开区| 钟山县| 城市| 拉萨市| 巴塘县| 缙云县| 泸定县| 延寿县| 巴塘县| 新营市| 三门峡市| 内丘县| 鹤岗市| 泰安市| 紫阳县| 新平| 河曲县| 永丰县| 连州市| 炉霍县| 昆明市| 康马县| 夏河县| 积石山| 普兰县| 镇雄县|