美文网首页
watch中对象深度监听不生效

watch中对象深度监听不生效

作者: 山上风大 | 来源:发表于2020-07-24 22:42 被阅读0次

    最近封装vue的echarts组件时,遇到父组件传过来的图表选项监听不生效的问题。
    最后发现问题是我在父组件中传递给子组件的图表选项是动态添加上去造成的。

    根据vue官网资料 深入响应式原理

    * 监听当前组件中的对象,需要在data中声明。
    * 监听props中的对象,需要在父组件中的data中声明。
    

    或者在动态添加属性后调用$forceUpdate()进行强制更新

    watch:{
      watchedObj:{
        deep:true, // 深度监听,对象属性的变化也能触发回调
        immediate:false, // 为 true 时立即以表达式的当前值触发回调,为 false 时只在对象发生改变时触发回调
        handler(newValue, oldValue){} // 对象有变化时的回调方法
      }
    }
    

    计算属性太懒了,在页面上没有使用到,不会进行计算

    相关文章

      网友评论

          本文标题:watch中对象深度监听不生效

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