Vue对某个对象的属性进行watch监听

普通的watch

data() {
  return {
    balance: 0
  }
},
watch: {
  balance (newValue, oldValue) {
    console.log(newValue)
  }
}

对象属性的watch

data() {
  return {
    user: {
      name: 'Joe.Ye',
      homepage: 'http://www.appblog.cn'
    }
  }
},
watch: {
  user: {
    handler(newValue, oldValue) {
      console.log(newValue)
    },
    deep: true
  }
}

只要user中的属性发生变化(可被监测到的),便会执行handler函数

对象某个具体属性的watch

如果想监测具体的属性变化,如homepage变化时,才执行handler函数,则可以利用计算属性computed做中间层。

data() {
  return {
    user: {
      name: 'Joe.Ye',
      homepage: 'http://www.appblog.cn'
    }
  }
},
computed: {
  homepage() {
    return this.user.homepage
  }
},
watch: {
  homepage (newValue, oldValue) {
    console.log(newValue)
  }
}
上一篇 Vuex组件通信优化:router页面跳转导致watcher不能监听数据变化
下一篇 Vuex状态监听mapState与普通的局部计算属性混合使用
目录
文章列表
1 使用 spring-boot-admin 对 Spring Boot 服务进行监控
使用 spring-boot-admin 对 Spring Boot 服务进行监控
2
Nacos实现Spring Cloud Gateway的动态路由
Nacos实现Spring Cloud Gateway的动态路由
3
Spring Boot国际化MessageSource使用
Spring Boot国际化MessageSource使用
4
JSON Web Token(JWT)原理和用法介绍
JSON Web Token(JWT)原理和用法介绍
5
Flutter中showModalBottomSheet点击内容区域自动关闭Dialog解决
Flutter中showModalBottomSheet点击内容区域自动关闭Dialog解决
最新评论
一位WordPress评论者
一位WordPress评论者
2月12日
您好,这是一条评论。若需要审核、编辑或删除评论,请访问仪表盘的评论界面。评论者头像来自 Gravatar。