vue watch deep无效解决

最近写项目,子组件通过props接收父组件的数据,在子组件中使用watch监听

deep深度监听对象

当监听的是对象时,需要使用deep才能监听到对象对应属性到变化

watch: {
    searchObj: {
      handler(val) {
        this.currentPage = 1;
        this.getCommitsList(val);
      },
      deep: true
    }

$set

但是呢!!发现还是无法监听对象到变化!!!
才发现我傻了,我直接对对象赋值
this.searchObj = todo;
这样子Vue 不能检测到对象属性的添加或删除!!!!
所以需要使用 $set

this.$set(this.searchObj, "sortCommitTime", 1);

唉,道理我都懂,就是经常忘记了哭

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 原文:https://www.jianshu.com/p/0cdf51904afb 计算属性如何使用 一般我们在写...
    L_b115阅读 820评论 0 0
  • 主要还是自己看的,所有内容来自官方文档。 介绍 Vue.js 是什么 Vue (读音 /vjuː/,类似于 vie...
    Leonzai阅读 3,399评论 0 25
  • 计算属性如何使用 一般我们在写vue的时候,在模板内写的表达式非常便利,它运用于简单的运算,但是他也有一些复杂的逻...
    X秀秀阅读 13,775评论 1 19
  • VUE介绍 Vue的特点构建用户界面,只关注View层简单易学,简洁、轻量、快速渐进式框架 框架VS库库,是一封装...
    多多酱_DuoDuo_阅读 2,763评论 1 17
  • vue.js是什么 是一套构建用户界面的渐进式框架 vue应用组成 一个 Vue 应用由一个通过new Vue创建...
    多多酱_DuoDuo_阅读 1,046评论 0 2