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

Vue監(jiān)聽屬性圖文實(shí)例詳解

 更新時間:2021年11月24日 10:59:17   作者:浪漫主義碼農(nóng)  
監(jiān)聽屬性可以針對某個屬性進(jìn)行監(jiān)聽,當(dāng)監(jiān)聽的屬性的值發(fā)生了變化,則會執(zhí)行相應(yīng)的函數(shù),下面這篇文章主要給大家介紹了關(guān)于Vue監(jiān)聽屬性的相關(guān)資料,需要的朋友可以參考下

?什么是監(jiān)聽屬性?

??所謂監(jiān)聽就是對內(nèi)置對象的狀態(tài)或者屬性變化進(jìn)行監(jiān)聽并且做出反應(yīng)的響應(yīng),監(jiān)聽屬性,意思就是可以監(jiān)視其他數(shù)據(jù)的變化。

監(jiān)聽屬性和計算屬性的區(qū)別?

計算屬性是依賴的值改變后重新計算結(jié)果更新DOM,會進(jìn)行緩存。

屬性監(jiān)聽的是屬性值,當(dāng)定義的值發(fā)生變化時,執(zhí)行相對應(yīng)的函數(shù)。

最主要的用途區(qū)別:

計算屬性不能執(zhí)行異步任務(wù)。計算屬性一般不會用來向服務(wù)器請求或者執(zhí)行異步任務(wù),因?yàn)楹臅r可能會比較長,我們的計算屬性要實(shí)時更新。所以這個異步任務(wù)就可以用監(jiān)聽屬性來做。

總之一句話:computed能實(shí)現(xiàn)的,watch都能實(shí)現(xiàn),computed不能實(shí)現(xiàn)的,watch也能實(shí)現(xiàn)

監(jiān)聽屬性的使用

使用watch配置項(xiàng),在配置項(xiàng)里面寫上要監(jiān)視的屬性,每次屬性值的變化都會觸發(fā)handler函數(shù)回調(diào),也可以監(jiān)視計算屬性的變化。

例子:

監(jiān)視輸入框的變化

代碼

<template>
<div class="main">
    我:<el-input v-model="name" placeholder="請輸入名字"></el-input>
    好友1<el-input v-model="friends.friend_1" placeholder="請輸入名字"></el-input>
    好友2<el-input v-model="friends.friend_2" placeholder="請輸入名字"></el-input>
</div>
</template>

<script>
export default {
  data(){
    return{
      name:'浪漫主義碼農(nóng)',
      friends:{friend_1:'張三',friend_2:'李四'}
    }
  },
  watch:{
    name:{
      handler(newValue,oldValue){  //newValue 新的值,oldValue變化前的值
        console.log(newValue,oldValue)
        this.friends.friend_1='王五'
      }
    },
    //監(jiān)視多級結(jié)構(gòu)中某個屬性的變化
    'friends.friend_1':{
      handler(newValue,oldValue){
        console.log(newValue,oldValue)
      }
    },
    'friends.friend_2':{
      handler(newValue,oldValue){
        console.log(newValue,oldValue)
      }
    },
  }
};
</script>

深度監(jiān)聽

當(dāng)我們的對象有多層結(jié)構(gòu)的時候,我們要監(jiān)聽的對象的屬性很多,避免一個一個屬性單獨(dú)寫,這個時候用到深度監(jiān)聽。

在watch配置中,監(jiān)視屬性對象中,配置deep 設(shè)置為 true 用于監(jiān)聽多級對象或者數(shù)組內(nèi)部值的變化

 watch:{
    //監(jiān)視多級結(jié)構(gòu)中所有屬性的變化
    friends:{
      handler(newValue,oldValue){
        console.log(newValue,oldValue,"aa")
      },
      deep:true, //開啟深度監(jiān)聽
    }
  }

注意:這里有個問題,深度監(jiān)聽時會出現(xiàn)新舊值相同的現(xiàn)象?

原因:

官方的解釋:

在變異(不是替換)對象或數(shù)組時,舊值將與新值相同,因?yàn)樗鼈兊囊弥赶蛲粋€對象/數(shù)組。Vue不會保留變異之前值的副本

就是導(dǎo)致了指針的變化。在我的js深拷貝你還不會嗎 文章里講到數(shù)據(jù)的存儲

立即調(diào)用

和deep配置的地方一樣。

immediate 設(shè)置為 true 將立即以觸發(fā)當(dāng)前handler回調(diào)

  watch:{
    name:{
      handler(newValue,oldValue){  //newValue 新的值,oldValue變化前的值
        console.log(newValue,oldValue)
        this.friends.friend_1='王五'
      },
      immediate:true
    },
  }

在頁面加載的時候就執(zhí)行了一次,所以舊數(shù)據(jù)為undefined

寫在最后

watch監(jiān)聽屬性通常可以用在 數(shù)據(jù)持久化、派發(fā)事件并同步/異步執(zhí)行,驗(yàn)證格式...

到此這篇關(guān)于Vue監(jiān)聽屬性的文章就介紹到這了,更多相關(guān)Vue監(jiān)聽屬性內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 關(guān)于SpringBoot與Vue交互跨域問題解決方案

    關(guān)于SpringBoot與Vue交互跨域問題解決方案

    最近在利用springboot+vue整合開發(fā)一個前后端分離的個人博客網(wǎng)站,所以這一篇總結(jié)一下在開發(fā)中遇到的一個問題,關(guān)于解決在使用vue和springboot在開發(fā)前后端分離的項(xiàng)目時,如何解決跨域問題。在這里分別分享兩種方法,分別在前端vue中解決和在后臺springboot中解決。
    2021-10-10
  • 詳解VueJS 數(shù)據(jù)驅(qū)動和依賴追蹤分析

    詳解VueJS 數(shù)據(jù)驅(qū)動和依賴追蹤分析

    這篇文章主要介紹了詳解VueJS 數(shù)據(jù)驅(qū)動和依賴追蹤分析,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07
  • vue實(shí)現(xiàn)給當(dāng)前元素添加樣式,其他元素?zé)o樣式問題

    vue實(shí)現(xiàn)給當(dāng)前元素添加樣式,其他元素?zé)o樣式問題

    這篇文章主要介紹了vue實(shí)現(xiàn)給當(dāng)前元素添加樣式,其他元素?zé)o樣式問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • vue3項(xiàng)目+element-plus:時間選擇器格式化方式

    vue3項(xiàng)目+element-plus:時間選擇器格式化方式

    這篇文章主要介紹了vue3項(xiàng)目+element-plus:時間選擇器格式化方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • 如何在vue中使用jsx語法

    如何在vue中使用jsx語法

    本文主要介紹了如何在vue中使用jsx語法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • 詳解Vue3頁面如何自適應(yīng)表格滾動高度

    詳解Vue3頁面如何自適應(yīng)表格滾動高度

    這篇文章主要為大家詳細(xì)介紹了Vue3頁面如何自適應(yīng)表格滾動高度,文中的示例代碼講解詳細(xì),具有一定的借鑒價值,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-02-02
  • 深入探究Vue2響應(yīng)式原理的實(shí)現(xiàn)及存在的缺陷

    深入探究Vue2響應(yīng)式原理的實(shí)現(xiàn)及存在的缺陷

    Vue的響應(yīng)式數(shù)據(jù)機(jī)制是其核心特性之一,它能夠自動追蹤數(shù)據(jù)的變化,并實(shí)時更新相關(guān)的視圖,然而,Vue2中的響應(yīng)式數(shù)據(jù)機(jī)制并非完美無缺,本文將探討Vue2響應(yīng)式原理及其存在的缺陷
    2023-08-08
  • vue分頁插件的使用方法

    vue分頁插件的使用方法

    這篇文章主要介紹了vue分頁插件的使用方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-12-12
  • vue實(shí)現(xiàn)點(diǎn)擊圖片放大效果

    vue實(shí)現(xiàn)點(diǎn)擊圖片放大效果

    這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)點(diǎn)擊圖片放大效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • vue?element-plus圖片預(yù)覽實(shí)現(xiàn)方法

    vue?element-plus圖片預(yù)覽實(shí)現(xiàn)方法

    這篇文章主要給大家介紹了關(guān)于vue?element-plus圖片預(yù)覽實(shí)現(xiàn)的相關(guān)資料,最近的項(xiàng)目中有圖片預(yù)覽的場景,也是踩了一些坑,在這里總結(jié)一下,需要的朋友可以參考下
    2023-07-07

最新評論

清镇市| 循化| 绥棱县| 杭锦后旗| 南汇区| 慈利县| 察隅县| 嘉峪关市| 左权县| 利川市| 乌拉特前旗| 岑溪市| 盖州市| 松潘县| 青海省| 西盟| 资兴市| 曲周县| 伊通| 嘉鱼县| 阜宁县| 祥云县| 灵丘县| 洛隆县| 巴马| 上蔡县| 抚顺县| 镇坪县| 牙克石市| 社旗县| 江永县| 正镶白旗| 县级市| 黑山县| 博爱县| 乐陵市| 珠海市| 灌云县| 白银市| 平泉县| 石台县|