关于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>
问题解决。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 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 跨域问题最佳解决方案