欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

vue3 watch和watchEffect的使用以及有哪些區(qū)別

 更新時(shí)間:2021年01月26日 14:30:41   作者:靜女  
這篇文章主要介紹了vue3 watch和watchEffect的使用以及有哪些區(qū)別,幫助大家更好的理解和學(xué)習(xí)vue框架,感興趣的朋友可以了解下

1.watch偵聽(tīng)器

引入watch

import { ref, reactive, watch, toRefs } from 'vue'

對(duì)基本數(shù)據(jù)類型進(jìn)行監(jiān)聽(tīng)----- watch特性:

1.具有一定的惰性lazy 第一次頁(yè)面展示的時(shí)候不會(huì)執(zhí)行,只有數(shù)據(jù)變化的時(shí)候才會(huì)執(zhí)行

2.參數(shù)可以拿到當(dāng)前值和原始值

3.可以偵聽(tīng)多個(gè)數(shù)據(jù)的變化,用一個(gè)偵聽(tīng)起承載

setup() {
	const name = ref('leilei')
	watch(name, (curVal, prevVal) => {
 	console.log(curVal, prevVal)
 })
}
template: `Name: <input v-model="name" />`

對(duì)引用類型進(jìn)行監(jiān)聽(tīng)-----

setup() {
	const nameObj = reactive({name: 'leilei', englishName: 'bob'})
 監(jiān)聽(tīng)一個(gè)數(shù)據(jù)
	watch(() => nameObj.name, (curVal, prevVal) => {
 	console.log(curVal, prevVal)
 })
 監(jiān)聽(tīng)多個(gè)數(shù)據(jù) 
	watch([() => nameObj.name, () => nameObj.name], ([curName, curEng], [prevName, curEng]) => {
 	console.log(curName, curEng, '----', prevName, curEng)
  setTimeout(() => {
   stop1()
  }, 5000)
 })
 const { name, englishName } = toRefs(nameObj)
}
template: `Name: <input v-model="name" /> englishName: <input v-model="englishName" />`

2.watchEffect

沒(méi)有過(guò)多的參數(shù) 只有一個(gè)回調(diào)函數(shù)

1.立即執(zhí)行,沒(méi)有惰性,頁(yè)面的首次加載就會(huì)執(zhí)行。

2.自動(dòng)檢測(cè)內(nèi)部代碼,代碼中有依賴 便會(huì)執(zhí)行

3.不需要傳遞要偵聽(tīng)的內(nèi)容 會(huì)自動(dòng)感知代碼依賴,不需要傳遞很多參數(shù),只要傳遞一個(gè)回調(diào)函數(shù)

4.不能獲取之前數(shù)據(jù)的值 只能獲取當(dāng)前值

5.一些=異步的操作放在這里會(huì)更加合適

watchEffect(() => {
	console.log(nameObj.name) 
})

偵聽(tīng)器的取消 watch 取消偵聽(tīng)器用法相同

const stop = watchEffect(() => {
	console.log(nameObj.name) 
 setTimeout(() => {
 	stop()
 }, 5000)
})

const stop1 = watch([() => nameObj.name, () => nameObj.name], ([curName, curEng], [prevName, curEng]) => {
 	console.log(curName, curEng, '----', prevName, curEng)
  setTimeout(() => {
   stop1()
  }, 5000)
 })

watch也可以變?yōu)榉嵌栊缘?立即執(zhí)行的 添加第三個(gè)參數(shù) immediate: true

 watch([() => nameObj.name, () => nameObj.name], ([curName, curEng], [prevName, curEng]) => {
 	console.log(curName, curEng, '----', prevName, curEng)
  setTimeout(() => {
   stop1()
  }, 5000)
 }, {
 	immediate: true
 })

以上就是vue3 watch和watchEffect的使用以及有哪些區(qū)別的詳細(xì)內(nèi)容,更多關(guān)于vue3 watch和watchEffect的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Vue生命周期實(shí)例分析總結(jié)

    Vue生命周期實(shí)例分析總結(jié)

    Vue的生命周期就是vue實(shí)例從創(chuàng)建到銷毀的全過(guò)程,也就是new Vue()開(kāi)始就是vue生命周期的開(kāi)始。Vue實(shí)例有?個(gè)完整的?命周期,也就是從開(kāi)始創(chuàng)建、初始化數(shù)據(jù)、編譯模版、掛載Dom->渲染、更新->渲染、卸載等?系列過(guò)程,稱這是Vue的?命周期
    2022-10-10
  • vue 判斷元素內(nèi)容是否超過(guò)寬度的方式

    vue 判斷元素內(nèi)容是否超過(guò)寬度的方式

    這篇文章主要介紹了vue 判斷元素內(nèi)容是否超過(guò)寬度的方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-07-07
  • 淺談Vue 數(shù)據(jù)響應(yīng)式原理

    淺談Vue 數(shù)據(jù)響應(yīng)式原理

    這篇文章主要介紹了淺談Vue 數(shù)據(jù)響應(yīng)式原理,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-05-05
  • 在Vue中是如何封裝axios

    在Vue中是如何封裝axios

    這篇文章主要介紹在Vue中是如何封裝axios的相關(guān)資料,axios的封裝主要是幫助我們簡(jiǎn)化代碼和利于后期的更新維護(hù),感興趣的小伙伴可以和小編一起來(lái)閱讀下面文章的具體內(nèi)容
    2021-10-10
  • 如何實(shí)現(xiàn)一個(gè)簡(jiǎn)易版的vuex持久化工具

    如何實(shí)現(xiàn)一個(gè)簡(jiǎn)易版的vuex持久化工具

    這篇文章主要介紹了實(shí)現(xiàn)一個(gè)簡(jiǎn)易版的vuex持久化工具,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • Vue3項(xiàng)目中父子組件之間互相傳值、傳遞方法詳細(xì)介紹

    Vue3項(xiàng)目中父子組件之間互相傳值、傳遞方法詳細(xì)介紹

    組件傳值問(wèn)題是Vue開(kāi)發(fā)中非常重要的一個(gè)話題,涉及到父子組件和非父子組件之間的傳值問(wèn)題,這篇文章主要介紹了Vue3項(xiàng)目中父子組件之間互相傳值、傳遞方法的相關(guān)資料,需要的朋友可以參考下
    2025-05-05
  • 詳解vue保存自動(dòng)格式化換行

    詳解vue保存自動(dòng)格式化換行

    這篇文章主要為大家介紹了vue保存自動(dòng)格式化換行,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2021-12-12
  • 淺談vuex的基本用法和mapaction傳值問(wèn)題

    淺談vuex的基本用法和mapaction傳值問(wèn)題

    今天小編就為大家分享一篇淺談vuex的基本用法和mapaction傳值問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-11-11
  • Vue實(shí)現(xiàn)圖片驗(yàn)證碼生成

    Vue實(shí)現(xiàn)圖片驗(yàn)證碼生成

    這篇文章主要為大家詳細(xì)介紹了Vue實(shí)現(xiàn)圖片驗(yàn)證碼生成,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • vuex如何在非組件中調(diào)用mutations方法

    vuex如何在非組件中調(diào)用mutations方法

    這篇文章主要介紹了vuex如何在非組件中調(diào)用mutations方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03

最新評(píng)論