Vue-watch

作者: 爱绑架的猫 | 来源:发表于2019-04-04 15:40 被阅读9次

在 vue 中使用 watch 相应数据的变化,大致有三种使用方法:

第一种:

直接监听 data 中的某个数据的变化,有两种写法

<input type="text" v-model="Name">

<script>
export default {
    data() {
        return {
            Name: '张三'
        }
    },
    watch: {
        Name(newName,oldName) {
            // .....
        }
        // Name: 'NameChange' 或者这样绑定一个方法名
    },
    methods: {
        NameChange() {
            // ...
        }
    }
    
}
</script>

第二种:

使用 immediate 和 handler 属性

immediate

在使用 第一种方法的时候,有一个需要注意的地方,就是 watch 在第一次绑定的时候不会执行监听函数,只有监听的值发生变化时才会执行函数,这时候我们如果想要在第一次绑定的时候就执行一次函数的话就需要 immediate 这个属性。

<script>
export default {
    data() {
        return {
            Name: '张三'
        }
    },
    watch: {
        Name: {
            handler(newVal,oldVal) {
                // ...
            },
            immediate: true
        }
    }
}
</script>

handler

handler 就是数据变化之后执行的函数

第三种:

使用 deep

deep

如果我们要监听的值是一个对象中的属性的话,就需要加上 deep 这个属性,来让 watch 进行深入监听

<script>
export default {
    data() {
        return {
            People: {
                Name: "张三",
               Age: 18,
               Sex: 'M'
            }
        }
    },
    watch: {
        People: {
            hadler(newVal,oldVal) {
                //....
            },
            immediate: true,
            deep: true
        }
    }
}
</script>

上面这种写法会给 People 的每个属性都绑定一个 handler,如果想指定监听具体的哪个属性的话,可以 '对象.属性' 的方式

<script>
export default {
    watch: {
        'People.Name': {
            handler() {},
            immediate: true,
            deep: true
        }
    }
}
</script>

相关文章

  • vue-watch

    title: vue-watch数组和对象date: 2017-03-21 vue watch 本文通过示例介绍v...

  • vue-watch

    普通监听 缺点: 不能深度监听(对象属性的改变),刷新或首次加载不能执行 高级监听 handle:watch 中需...

  • vue-watch

    虽然计算属性在大多数情况下更合适,但有时也需要一个自定义的侦听器。这就是为什么 Vue 通过 watch 选项提供...

  • vue-watch

    利用watch监视,当message改变时,显示正在输入,输入完显示输入的信息。参数也可以是watch(val,o...

  • Vue-watch

    在 vue 中使用 watch 相应数据的变化,大致有三种使用方法: 第一种: 直接监听 data 中的某个数据的...

  • vue-watch 深度监听!!

    Vue提供了一个watch方法去监听某些data内的数据变动,从而触发相应的操作,当需要在数据变化时执行异步或开销...

  • vue-watch 监听的使用教程

    前沿 在项目开发中经常会用到监听,所以就科普并且记录下来。 说变了,就是监听到数据变化然后做某些操作。

  • vue-watch监听动态表单的数据

    应用场景: 表单页里,有一块可以动态添加的区域,点击创建就会出现一套此区域,下方的[报销金额]需要统计所有的[花费...

  • vue-watch 深度监控,监听数据的table数组的变化

    watch:{ tableData:{ handler(newObj,oldObj){ con...

  • vue-watch的监听对象的所有属性变化,监听触发一次

    vue--watch的监听对象的所有属性变化,监听触发一次 watch很多人都在用,但是这watch中的这两个选项...

网友评论

    本文标题:Vue-watch

    本文链接:https://www.haomeiwen.com/subject/qkqqiqtx.html