vue中watch的用法


一、首先確認watch是一個對象,一定要當做對象來用

watch:{

}

  對象:有鍵,有值。

 1、鍵:就是你要監控的那個家伙,比如說$route,這個就是要監控路由的變化。或者是data中的某個變量。

 2、值:

  ① 可以是【函數】:就是當你監控的家伙變化時,需要執行的函數,這個函數有兩個形參,第一個是當前值,第二個是變化后的值。

  ② 可以是【函數名】:不過這個函數名要用單引號來包裹。

  ③ 可以是【包括選項的對象】:選項包含有三個,如下:

    a. 第一個handler:其值是一個回調函數。即監聽到變化時應該執行的函數

    b. 第二個是deep:其值是true或false;確認是否深入監聽。(一般監聽時是不能監聽到對象屬性值的變化的,數組的值變化可以監聽到,因此:數據的改變不需要使用深度watch

    c. 第三個是immediate:其值是true或false,確認是否以當前的初始值執行handler的函數

var vm = new Vue({
    data:{
        a:1,
        b:2,
        c:3
    },
    watch:{
        //值:函數
        a:function(val, oldVal) {
            console.log('new: %s, old: %s', val, oldVal)
        },
        //值:方法名
        b:'someMethod',
        //選項的對象
        c:{
            handler:function(val, oldVal){
                console.log(val, oldVal)
            },
            deep: true,
            immediate: true
        }
    }
});

  參考地址:https://blog.csdn.net/wangxiaoxiaosen/article/details/78487089

       https://blog.csdn.net/itkingone/article/details/69568498

       https://blog.csdn.net/zhuming3834/article/details/79726929

        


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM