关于echarts无法在mounted中渲染的问题

最初实现:

echarts图标被单独作为一个组件引入,通过传入数据来显示。

<div class="echart">

<div class="echarts-cont">

<Charts

:dataList="list"

:total="total"

></Charts>

</div>

echarts组件代码:

export default {

name: "quotoEcharts",

components: {},

props: {

dataList: {

type: Array,

default: () => {

return []

}

},

total: {

type: [Number, String],

default: 0

},

},

data() {

return {

};

},

computed: {},

created() { },

mounted() {

this.$nextTick(() => {

this.echartsInit()

console.log("total:", this.total)

console.log("dataList:", this.dataList)

})

 

},

发现mounted中打印dataList和total根本就是空的,难道数据没有传过来?因为数据是通过ajax请求获取的,而组件的加载是走的生命周期函数式同步行为。所有子组件echats在mounted里没有数据

解决思路:

让子组件echats.vue在数据加载完成以后出现。也就能保证echrats里mounted生命周期里一定有数据。所以解决思路:

<div class="echart">

<div class="echarts-cont">

<Charts

v-if="list.length>0" //注意这里list.length>0

:dataList="list"

:total="total"

></Charts>

</div>

问题解决。

posted @   雪莉06  阅读(87)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
历史上的今天:
2020-06-04 Jquery 添加删除属性、添加删除class、添加删除Css(转载)
2018-06-04 Vuex异步请求数据通过computed计算属性值
2018-06-04 js数组操作
2018-06-04 Vuex速学篇:(2)利用state保存新闻数据
2018-06-04 PHP ACCESS-CONTROL-ALLOW-ORIGIN ,设置跨域头
2018-06-04 PHP Ajax 跨域问题最佳解决方案
点击右上角即可分享
微信分享提示