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

Vue學習筆記之計算屬性與偵聽器用法

 更新時間:2019年12月07日 11:52:44   作者:theVicTory  
這篇文章主要介紹了Vue學習筆記之計算屬性與偵聽器用法,結合實例形式詳細分析了vue.js計算屬性與偵聽器基本功能、原理、使用方法及操作注意事項,需要的朋友可以參考下

本文實例講述了Vue計算屬性與偵聽器用法。分享給大家供大家參考,具體如下:

vue之所以加載速度非常塊,是因為在數(shù)據(jù)改變時,它并不是將所有組件都刷新,而是在重用代碼的基礎上對發(fā)生改變的地方進行渲染。同時,還得益于計算屬性的使用:

1、計算屬性

像綁定普通屬性一樣在模板中綁定計算屬性。例如reverseName屬性依賴于firstName和lastName,當firstName或lastName發(fā)生改變時,依賴于它的 reverseName 也會更新。

利用函數(shù)方法也可以實現(xiàn)類似的效果,不同的是計算屬性是基于它們的依賴進行緩存的。只有在它的相關依賴發(fā)生改變時才會重新求值。這就意味著只要 firstName 還沒有發(fā)生改變,再次訪問 reversedName 計算屬性會立即返回之前的計算結果,而不必再次執(zhí)行函數(shù)。相比之下,每當觸發(fā)重新渲染時,調(diào)用方法將總會再次執(zhí)行函數(shù).

為什么需要緩存?假設我們有一個性能開銷比較大的的計算屬性 A,它需要遍歷一個巨大的數(shù)組并做大量的計算。然后我們可能有其他的計算屬性 B 依賴于 A 。如果使用函數(shù),每獲得一次B就要調(diào)用一次函數(shù)進行計算,造成很大開銷!

計算屬性默認為get方法,也可以設定set方法,接收傳入處理數(shù)據(jù)。例如傳入originalName,set方法對其進行拆解并復制給firstName與lastName,并引起firstName與lastName改變,調(diào)用get()方法。

<div id="app">
    <p>{{originalName}}</p>
    <p>{{reverseName}}</p>
    <button @click="deal()">反轉名字</button>
</div>
let vue=new Vue({
    el:'#app',
    data:{
      firstName:'',
      lastName:'',
      originalName:"super tory"
    },
    methods:{
      deal(){
        this.reverseName=this.originalName;
      }
    },
    computed:{            //計算屬性鉤子
      reverseName:{
        set(string){  //通過set方法對傳入?yún)?shù)this.originalName進行操作
          let name=string.split(' ');
          this.firstName=name[1];
          this.lastName=name[0];
        },
        get(){      //通過get方法返回值
          return this.firstName+' '+this.lastName;
        }
      }
    }
});

2、偵聽器watch

在Vue中提供一個鉤子,偵聽data中的某個變量是否改變,如果改變則執(zhí)行響應函數(shù)。

<div id="app2">
  <input v-model="listen">
</div>

let vue2=new Vue({
  el:'#app2',
  data:{
    listen:''
  },
  watch:{      //定義偵聽器鉤子
    listen:function () {  //定義函數(shù)偵聽listen的變化
      console.log("input內(nèi)容發(fā)生改變");
    }
  }
});

希望本文所述對大家vue.js程序設計有所幫助。

相關文章

  • uniapp中uni-load-more的使用方式

    uniapp中uni-load-more的使用方式

    這篇文章主要介紹了uniapp中uni-load-more的使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • 解決vuecli3中img src 的引入問題

    解決vuecli3中img src 的引入問題

    這篇文章主要介紹了解決vuecli3中img src 的引入問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • vue-quill-editor插入圖片路徑太長問題解決方法

    vue-quill-editor插入圖片路徑太長問題解決方法

    這篇文章主要介紹了vue-quill-editor插入圖片路徑太長問題解決方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-01-01
  • Vue配合iView實現(xiàn)省市二級聯(lián)動的示例代碼

    Vue配合iView實現(xiàn)省市二級聯(lián)動的示例代碼

    本篇文章主要介紹了Vue配合iView實現(xiàn)省市二級聯(lián)動的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07
  • vue實現(xiàn)下拉菜單效果

    vue實現(xiàn)下拉菜單效果

    這篇文章主要為大家詳細介紹了vue實現(xiàn)下拉菜單效果,運用了hover顯示與隱藏以及定位,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-09-09
  • vue3界面使用router及使用watch監(jiān)聽router的改變

    vue3界面使用router及使用watch監(jiān)聽router的改變

    vue2中使用router非常簡單,但是vue3中略微有些改變,通過本文講解下他的改變,對vue3?watch監(jiān)聽router相關知識感興趣的朋友一起看看吧
    2022-11-11
  • 使用vue打包時vendor文件過大或者是app.js文件很大的問題

    使用vue打包時vendor文件過大或者是app.js文件很大的問題

    這篇文章主要介紹了使用vue打包時vendor文件過大或者是app.js文件很大問題的解決方法,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-06-06
  • 淺談Vue下使用百度地圖的簡易方法

    淺談Vue下使用百度地圖的簡易方法

    本篇文章主要介紹了淺談Vue下使用百度地圖的簡易方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-03-03
  • 詳解Vue3?父組件調(diào)用子組件方法($refs?在setup()、<script?setup>?中使用)

    詳解Vue3?父組件調(diào)用子組件方法($refs?在setup()、<script?setup>?中使用)

    這篇文章主要介紹了Vue3?父組件調(diào)用子組件方法($refs?在setup()、<script?setup>?中使用),在 vue2 中 ref 被用來獲取對應的子元素,然后調(diào)用子元素內(nèi)部的方法,本文通過實例代碼給大家介紹的非常詳細,需要的朋友可以參考下
    2022-08-08
  • vue實現(xiàn)左右滑動效果實例代碼

    vue實現(xiàn)左右滑動效果實例代碼

    左右滾動的效果,在日常開發(fā)中比較常見,這篇文章主要給大家介紹了關于vue實現(xiàn)左右滑動效果的相關資料,需要的朋友可以參考下
    2021-05-05

最新評論

庆城县| 都匀市| 水城县| 楚雄市| 海丰县| 哈尔滨市| 大同县| 华安县| 巨野县| 北流市| 腾冲县| 永康市| 龙南县| 惠安县| 海安县| 泰顺县| 南通市| 诏安县| 阿坝| 班玛县| 子洲县| 武山县| 榆树市| 南郑县| 北海市| 徐州市| 会泽县| 象山县| 石家庄市| 民乐县| 宁津县| 丰原市| 六安市| 呈贡县| 洪洞县| 江达县| 巍山| 蕉岭县| 桃园市| 成安县| 肥城市|