欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Vue之监听方法案例详解

程序员文章站 2024-01-15 08:49:28
vue中的监听方法watch注意名字 你想监听哪个属性,就要和他起一样的名字1.作用用来监听vue实例中的数据变化可以随时修改状态的变化2.触发条件当你监听的属性发生变化时,会自动调用对应的监听方法3...

vue中的监听方法

watch

注意

名字 你想监听哪个属性,就要和他起一样的名字

1.作用

用来监听vue实例中的数据变化
可以随时修改状态的变化

2.触发条件

当你监听的属性发生变化时,会自动调用对应的监听方法

3.使用场景

用于异步处理,开销比较大的运算

4.示例

	 watch:{
             name(newvalue,oldvalue){
                  //计算属性可以接受两个参数,第一个参数是新的属性值,第二参数是老的属性值
                    // this.age
                    // console.log('name属性发生变化了')
                    console.log(newvalue,oldvalue)
                }

5.监听对象时

<script>
export default {
    data() {
        return {
            obj: {
                name: "张三",
                age: 20,
                children: [
                    {
                        name: "李四",
                        age: 27
                    },
                    {
                        name: "王五",
                        age: 23
                    }
                ]
            }
        };
    },
    watch: {
        obj: {
            handler: function(newval, oldval) {
                console.log("newval:", newval);
                console.log("oldval:", oldval);
            },
            deep: true,
            immediate: true
        },
        "obj.name": function(newval, oldval) {
            
            console.log("newval obj.name:", newval);
            console.log("oldval obj.name:", oldval);
        }
    },
};
</script>

监听对象的时候,需要加deep:true,这样才能深入底层去实时监听,如果没有加的话,对象是监听不到变化的。

immediate属性:布尔值
immediate:true:首次加载就监听数据变化
immediate:false:只有发生改变才监听

deep:true;

是开启深层次的监听,即所有属性都加上监听器,如果其中一个发生改变了就执行handler函数。

到此这篇关于vue之监听方法案例详解的文章就介绍到这了,更多相关vue之监听方法内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

相关标签: Vue watch