watch中对象深度监听不生效

2020-07-24  本文已影响0人  山上风大

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

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

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

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

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

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

上一篇 下一篇

猜你喜欢

热点阅读