中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

vue3中watch和watchEffect是什么

發布時間:2022-03-11 14:12:05 來源:億速云 閱讀:213 作者:小新 欄目:開發技術

小編給大家分享一下vue3中watch和watchEffect是什么,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

watch

結論1:

watch需要偵聽特定的數據源,可以是一個也可以是多個,在頁面第一次加載時不運行函數,只有當監聽的數據源改變時,才會運行此函數

結論2

watch監聽一個對象的屬性,首先監聽的值要以函數返回值的形式進行傳遞監聽,不同于vue2形式的監聽,如下為對象屬性5秒后改變,監聽函數打印

vue3中watch和watchEffect是什么

結論3

監聽多個數據源,是把需要監聽的參數放在watch函數的數組中,但是如果是監聽多個數據源的話,如果多個數據源同時改變的話,只觸發一次監聽函數,如下圖所示

vue3中watch和watchEffect是什么

這是是兩個數據源同時發生改變,但是watch函數只是觸發了一次

watchEffect

結論1

vue官方文檔 為了根據響應式狀態自動應用和重新應用副作用,我們可以使用 watchEffect 函數。它立即執行傳入的一個函數,同時響應式追蹤其依賴,并在其依賴變更時重新運行該函數。

可以看出 watchEffect函數不需要傳入一個數據源,只需要傳入一個函數,在函數中使用到的響應式數據,vue都會追蹤依賴,當數據改變時,watchEffect函數會再次運行,并且watchEffect在頁面第一次加載的時候就會運行

驗證結論1

vue3中watch和watchEffect是什么

結論2 watchEffect 監聽多個數據源

監聽對象,無法完成監聽

vue3中watch和watchEffect是什么

監聽對象屬性,可以完成

vue3中watch和watchEffect是什么

結論3 watchEffect 停止監聽

const stop= watchEffect(()=>{
    })
    stop()

watch 和 watchEffect 的區別

1.watch是惰性的,頁面第一次加載時不觸發watch函數,只有監聽的數據發生變化時,才會觸發watch函數

2.watch可以以數組的形式監聽多個參數,如果多個數據同時發生改變,watch只觸發一次

3.watch監聽reactive數據時,是以 ()=>a 這個形式,目的是監聽數據的getter函數,對于ref定義的數據,可以直接監聽

4.watch可以獲取監聽的數據的新值和舊值

5.watchEffect 函數,在頁面第一次加載時就會觸發,并且會一直監聽追蹤內部使用的響應式數據,只要追蹤的響應式數據發生變化,watchEffect 都會運行

6.watchEffect 也可以監聽多個參數,只是不能監聽對象,因為他無法監測對象內部的變化,可能是watchEffect 無法實現深度監聽吧(具體原因還不清楚) 僅記錄平常學習

以上是“vue3中watch和watchEffect是什么”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

辽源市| 黎城县| 佛教| 聊城市| 横峰县| 虞城县| 菏泽市| 扶余县| 新闻| 济源市| 庆城县| 金华市| 称多县| 望江县| 安福县| 永福县| 静海县| 全州县| 波密县| 台北县| 方正县| 望奎县| 富阳市| 清水河县| 惠安县| 天台县| 武川县| 甘孜| 澄江县| 四川省| 安乡县| 平定县| 泾源县| 上饶市| 睢宁县| 永平县| 定安县| 青田县| 城口县| 木兰县| 武宁县|