亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

vue3.0中的watch偵聽器實例詳解

 更新時間:2021年10月09日 11:07:53   作者:Youyzq  
雖然計算屬性在大多數(shù)情況下更合適,但有時也需要一個自定義的偵聽器,這就是為什么Vue通過watch選項提供了一個更通用的方法,來響應數(shù)據(jù)的變化,這篇文章主要給大家介紹了關于vue3.0中watch偵聽器的相關資料,需要的朋友可以參考下

前言

雖然計算屬性在大多數(shù)情況下更合適,但有時也需要一個自定義的偵聽器。這就是為什么 Vue 通過watch選項提供了一個更通用的方法,來響應數(shù)據(jù)的變化。當需要在數(shù)據(jù)變化時執(zhí)行異步或開銷較大的操作時,這個方式是最有用的。

偵聽器和計算屬性的區(qū)別

計算屬性里不可以做異步操作,偵聽器可以做異步操作,相當于計算屬性的升級版

 

vue3如何使用watch呢?

基本使用

<template>
  <h1>watch偵聽器頁面</h1>
  <p>普通偵聽數(shù)據(jù):{{ num }}</p>
  <button @click="butFn">點擊</button>
</template>

script

import { ref, watch } from 'vue'
// 記得用到什么就要導入什么vue3的新特性,按需調(diào)用
 setup() {
 
    const num = ref(0)
    // watch(要偵聽的數(shù)據(jù),回調(diào)函數(shù))
    watch(num, (v1, v2) => {
      // v1 是改變以后的新值
      // v2 是改變前的值
      console.log(v1, v2)
      // 要點:偵聽普通函數(shù)可以獲取修改前后的值,被偵聽的數(shù)據(jù)必須是響應式的
    })
    
    // 單機事件
      const butFn = () => {
      num.value++
    }
    
     return { butFn, num }
}

監(jiān)聽多個響應式數(shù)據(jù)

    const num = ref(0)
    const num2 = ref(20)
    
    watch([num, num2], (v1, v2) => {
      // 存入的結(jié)果是一個數(shù)組,結(jié)果返回的也是一個已數(shù)組格式的結(jié)果
      // v1是最新結(jié)果的數(shù)組
      // v2是舊數(shù)據(jù)的數(shù)組
      console.log('v1', v1, 'v2', v2)
    // 總結(jié):可以得到更新前后的值,偵聽的結(jié)果也是數(shù)組數(shù)據(jù)順序一致
    })

偵聽reactive定義的響應式數(shù)據(jù)

	const obj = reactive({
      msg: '奇奇怪怪可可愛愛'
    })
    
   watch(obj, () => {
      // 只能獲取到最新的值
      console.log(obj.msg)
    })

總結(jié):如果偵聽對象,那么偵聽器的回調(diào)函數(shù)的兩個參數(shù)是一樣的結(jié)果,表示最新的對象數(shù)據(jù),此時也可以直接讀取被偵聽的對象,那么得到的值也是最新的。

監(jiān)聽reactive定義的響應式數(shù)據(jù)的某一個屬性

	const obj = reactive({
      msg: '奇奇怪怪可可愛愛'
    })
    
	watch(() => obj.msg,(v1, v2) => {
        // v1 就是被監(jiān)聽數(shù)據(jù)的最新值
        // v2 就是被監(jiān)聽數(shù)據(jù)的原有值
        console.log(v1, v2)
        // 總結(jié):如果偵聽對象中當個屬性,需要使用箭頭函數(shù)的方式
        // 偵聽更少的數(shù)據(jù)有利于提高性能
      }
    )

配置選項用法

   const obj = reactive({
      msg: {
        info: 'ooo'
      }
    })
   watch(() => obj.msg,(v1, v2) => {
        console.log(v1, v2)
      },
      {
        // 首次渲染組件就觸發(fā)一次
        immediate: true,
        // 開啟深度監(jiān)聽,對象里面的數(shù)據(jù)如果發(fā)生變化也會被偵聽到
        // 如果監(jiān)聽的數(shù)據(jù)是一個比較長的表達式,那么需要用一個函數(shù)的方式
        // 但是寫成函數(shù)形式之后,里層的數(shù)據(jù)變化不到,所以需要添加deep選項
        deep: true
      }
    )

總結(jié)

到此這篇關于vue3.0中watch偵聽器實例詳解的文章就介紹到這了,更多相關vue3.0 watch偵聽器內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 在vue中使用vuex,修改state的值示例

    在vue中使用vuex,修改state的值示例

    今天小編就為大家分享一篇在vue中使用vuex,修改state的值示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • element plus中el-upload實現(xiàn)上傳多張圖片的示例代碼

    element plus中el-upload實現(xiàn)上傳多張圖片的示例代碼

    最近寫項目的時候需要一次上傳多張圖片,本文主要介紹了element plus中el-upload實現(xiàn)上傳多張圖片的示例代碼,具有一定的參考價值,感興趣的可以了解一下
    2024-01-01
  • vue3 與 vue2 優(yōu)點對比匯總

    vue3 與 vue2 優(yōu)點對比匯總

    隨著用vue3 的開發(fā)者越來越多,其必定是又她一定的有帶你,接下來這篇文章小編就為大家介紹vue3 對比 vue2 有什么優(yōu)點?感興趣的小伙伴請跟小編一起閱讀下文吧
    2021-09-09
  • 在vue3.0中如何配置代理

    在vue3.0中如何配置代理

    這篇文章主要介紹了在vue3.0中如何配置代理問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • VUE2實現(xiàn)事件驅(qū)動彈窗示例

    VUE2實現(xiàn)事件驅(qū)動彈窗示例

    本篇文章主要介紹了VUE2實現(xiàn)事件驅(qū)動彈窗示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • Vue項目如何部署到Tomcat服務器上

    Vue項目如何部署到Tomcat服務器上

    這篇文章主要介紹了Vue項目如何部署到Tomcat服務器上,Vue中自帶webpack,可以通過一行命令將項目打包,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2024-03-03
  • 動畫詳解Vue3的Composition?Api

    動畫詳解Vue3的Composition?Api

    為讓大家更好的理解Vue3的Composition?Api本文采用了詳細的動畫演繹,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-07-07
  • Element-ui 滾動條美化的實現(xiàn)

    Element-ui 滾動條美化的實現(xiàn)

    本文主要介紹了Element-ui 滾動條美化的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-06-06
  • vue中v-for循環(huán)給標簽屬性賦值的方法

    vue中v-for循環(huán)給標簽屬性賦值的方法

    這篇文章主要介紹了vue中v-for循環(huán)給標簽屬性賦值的方法,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-10-10
  • 詳解Vue生命周期的示例

    詳解Vue生命周期的示例

    本篇文章主要介紹了詳解Vue生命周期的示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03

最新評論