1.数据监听不生效
一个页面引入饼图组件后,需要三次使用它,分别展示不同的数据;但将数据传递给子组件后,watch根本监听不到数据,开始以为是父组件绑定数据问题,一通乱改还是没生效,就去对比了之前写的,发现监听时,需要设置handler(value){},immediate:true,否则不立即监听,就收不到数据。
watch:{
pieData:{
handler(value){
...
},
immediate:true
}
}
2.报错:this.myChart.clear is not a function
这里出错是因为,立即监听(immediate:true)时,再使用this.$nextTick(function(){......})包裹所写方法就不生效了,需要先判断this.myChart是否不等于空字符串,然后再使用clear和setOption方法。
// 错误写法
this.$nextTick(function(){
this.myChart.clear()
this.myChart.setOption(this.option)
})
// 正确写法
if(this.myChart != ""){
this.myChart.clear()
this.myChart.setOption(this.option)
}