美文网首页
vue中如何深度监听一个对象?

vue中如何深度监听一个对象?

作者: Annun | 来源:发表于2019-11-20 11:38 被阅读0次

来源:雨中愚-vue中如何深度监听一个对象?

大家都知道,Vue项目中对数据的监听,提供了一个很好的钩子watchwatch可以极其方便的监听我们常用数据类型值的变化,但通常当我们想监听一个对象中,某个属性值的变化时,很难达到我们预期的效果。那么如何实现对象属性的深度监听呢?

  1. vue中提供了在watch监听时设置deep:true就可以实现对对象的深度监听;
watch:{ 
    obj:{ //监听的对象
        deep:true, //深度监听设置为 true
        handler:function(newV,oldV){
            console.log('watch中:',newV) 
        }
    }
}
  • 监听对象下某个属性--代码如下:
data () {
    return {
        obj:{
            name:'夜空中最亮的星星',
            age:18
        }
      }
    },
    watch:{
      'obj.name':{
        deep:true,
        handler:function(newV,oldV){
          console.log('watch中:',newV)
        }
    }
}

  1. 利用computed配合watch实现单个属性的深度监听;

demo: https://run.iviewui.com/7zwv09qd

  • 代码如下:
data () {
      return {
        obj:{
          name:'夜空中最亮的星星',
          age:18
        }
      }
    },
    computed:{
      name(){
        return this.obj.name;
      }
    },
    watch:{
      name(newV){
        console.log('watch中name为:',newV)
    }
}

相关文章

  • vue中如何深度监听一个对象?

    来源:雨中愚-vue中如何深度监听一个对象? 大家都知道,Vue项目中对数据的监听,提供了一个很好的钩子watch...

  • VUE 深度监听

    VUE 深度监听

  • Vue watch

    Vue中监听某个对象的属性 为了避免监听整个对象导致效率问题,可以监听某个对象的特定属性

  • vue-router 路由写法

    vue $route 深度监听

  • vue实现监听多维数组和深度监听对象的方式

    使用vue的过程中,如果数组或对象发生了变化,vue是监听不到的,这里总结下对多维数组和多层对象的监听。 监听多维...

  • vue对象watch(深度监听)

    immediate使用watch时有一个特点,就是当值第一次绑定的时候,不会执行监听函数,只有值发生改变才会执行。...

  • vue监听表单优化——周分享

    vue深度监听表单时候,新老对象的值是相同的。 其原因是vue在变异(非替换)数组或对象时,新旧值都指向同一个数组...

  • watch

    深度监听,handler特定回调函数不容修改监听整个对象监听对象里面的某一个属性

  • 微信小程序之watch属性值(仿Vue)

    Vue通过监听watch属性来观测Vue实例数据的变化。 监听器的原理,将data中需监听的属性写在watch对象...

  • vue的vuex监听

    vue如何在非vue文件中监听vuex数据的变更? 通常我们在vue文件中监听数据的变更,尤其是vuex中数据的变...

网友评论

      本文标题:vue中如何深度监听一个对象?

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