watch:
观测Vue实例上的数据变动,对应一个对象,
键:就是需要监测的那个东西,
值:

1.可以是当键变化时执行的函数,有两个参数,第一个是变化前的值,第二个是变化后的值。
2.可以是函数名,得用单引号包裹。
3.可以是一个对象,这个对象有三个选项:
(1)handler :一个回调函数,监听到变化时应该执行的函数。
(2)deep :boolean值,是否深度监听。(一般监听时是不能监听到对象属性值的变化的,数组的变化可以听到)
(3)immediate :boolean值,是否立即执行handler函数。

watch的三种情况:
1. 普通的watch:

 el:'#app',

    data:{

        meter:1000,

        kilameter:1

    },

    watch:{

        meter:function(val){

            this.kilameter = val * 0.1;

        },

        kilameter:function(val){

            this.meter = val *1000;

        }

    }

})

2.数组的watch:

 el:'#app',

    data:{

        arr:[1,2,3]

    },

    watch:{

        arr:function(oldV,newV){

            console.log(oldV);

            console.log(newV);     

        }

    }

})

3.对象的watch:

 el:'#app',

    data:{

        obj : {

            a:111,

            b:222

        }  

    },

    watch:{

        obj:{

            handler:function(oldV,newV){

                console.log(oldV);

            },

            deep:true

        }

    }

)

Logo

基于 Vue 的企业级 UI 组件库和中后台系统解决方案,为数万开发者服务。

更多推荐