vu3监听父组件传值给封装的子组件Echarts, 避免初始化Echarts后的二次渲染

父组件从网络获取到数据后将数据通过props的方式传递给子组件,子组件如何监测更新并做进一步逻辑?
 

// 父组件传参
<template>
 <div>
    <histogram id="histogram" :data="data"></histogram>
 </div>

<script setup>
import { ref, onMounted } from "vue";
// 定义子组件获取的值[时间,参数]
const data= ref([['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],[120, 100, 150, 80, 70, 110, 130]])

// 挂载时获取请求回来的数据赋值给data
</script>





// 子组件接收
<script setup>
import { onMounted , ref , watch } from 'vue'
const props = defineProps({
  //子组件接收父组件传递过来的值
  data: Array,
})

// 通过监听父组件获取网络请求后传来的值,再去渲染Echarts
watch(()=>props.doctorData , (newVal,oldVal) => {

  // console.log('新',newVal,'旧',oldVal)
  option.xAxis.data = newVal[0]
  option.series.data = newVal[1]

  initeCharts()
})


const initeCharts = () => {
  const myChart = echarts.init(document.getElementById(''))
  // 绘制图表
  myChart.setOption(option)
} 

</script>




代码简洁,望理解。希望帮到大家!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值