vue中watch的用法

  watch是vue实例的一个属性,主要用来监听数据的变化,并做出一些操作。

  1. 简单数据类型的使用,主要是针对于简单的数据类型,例如字符串、数字、布尔类型等数据类型。
data() {
    return {
     userName: "李赫尔南"       
    }
},
watch: {
    userName:{
        handler(newValue, oldValue){
        console.log("旧值:", oldValue)//改变之前的值
        console.log("新值:", newValue)//改变之后的值
    }
}
  1. 复杂数据类型的使用
     2.1 监听对象中某个属性的变化
data() {
    return {
        userInfo: {
             userName: "李赫尔南",
             age: 18
         }  
    }
},
watch: {
    //监听多级结构中某个属性的变化
    //当userInfo中的userName属性发生变化时就会执行handler
    'userInfo.userName':{
        handler(newValue, oldValue){
            console.log("旧值:", oldValue)//改变之前的值
            console.log("新值:", newValue)//改变之后的值
        }
    }
}

 2.2 监听对象中所有属性的变化,使用deep属性可以监测到整个对象所有值的变化。

data() {
    return {
        userInfo: {
             userName: "李赫尔南",
             age: 18
         }  
    }
},
watch: {
    userInfo:{
        handler(newValue, oldValue){
            console.log("旧值:", oldValue)//改变之前的值
            console.log("新值:", newValue)//改变之后的值
        },
        deep:true
    }
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 参考文档:https://www.cnblogs.com/yesu/p/9546458.html[https://...
    七號7777阅读 3,775评论 0 0
  • watch没有缓存性,更多的是观察的作用,可以监听某些数据执行回调。当我们需要深度监听对象中的属性时,可以打开de...
    FT_4f8f阅读 3,582评论 0 0
  • 基本用法: 当firstName值变化时,watch监听到并且执行 handler方法和immediate属性: ...
    cain07阅读 1,787评论 0 0
  • 基本用法: 当firstName值变化时,watch监听到并且执行 handler方法和immediate属性: ...
    CRUD_科科阅读 227,764评论 8 40
  • 在vue中,使用watch来响应数据的变化。watch的用法大致有三种。 1. 常用用法 直接写一个监听处理函数,...
    O汉室宗亲O阅读 1,216评论 0 1

友情链接更多精彩内容