vue中引入echarts提示 Uncaught Error: Initialize failed: invalid dom.

错误原因没有找到dom这个元素
当使用Vue created 方法时 去初始化echarts的时候 便会有以下提示:
错误提示
created 只是完成了初始化vue的工作还没有完成挂载 如果这个时候调用echarts的init 就会发现dom无效 所以会提示 invalid 因为dom这时候还没有没初始化出来
因为 我们可以使用mounted 函数 让dom 先完成 初始化在进行调用的时候,echarts就可以完成初始化了

<script>
    var app = new Vue({
        el: '#app',
        created:function () {
          alert("Vue 初始化成功")
        },
        mounted:function () {
            //在这里完成对echarts的初始化工作
            this.drawPie('main')
        },
        methods:{
            drawPie(id){
                alert("drawPie被调用")
                console.log(document.getElementById(id))
                this.charts = echarts.init(document.getElementById(id))
                this.charts.setOption({
                    tooltip: {
                        trigger: 'item',
                        formatter: '{a}<br/>{b}:{c} ({d}%)'
                    },
                    legend: {
                        orient: 'vertical',
                        x: 'left',
                        data:this.opinion
                    },
                    series: [
                        {
                            name:'访问来源',
                            type:'pie',
                            radius:['50%','70%'],
                            avoidLabelOverlap: false,
                            label: {
                                normal: {
                                    show: false,
                                    position: 'center'
                                },
                                emphasis: {
                                    show: true,
                                    textStyle: {
                                        fontSize: '30',
                                        fontWeight: 'blod'
                                    }
                                }
                            },
                            labelLine: {
                                normal: {
                                    show: false
                                }
                            },
                            data:this.opinionData
                        }
                    ]
                })
            }


        },
//   data 数据对象
        data: {
                charts: '',
                opinion:['直接访问','邮件营销','联盟广告','视频广告','搜索引擎'],
                opinionData:[
                    {value:335, name:'直接访问'},
                    {value:310, name:'邮件营销'},
                    {value:234, name:'联盟广告'},
                    {value:135, name:'视频广告'},
                    {value:1548, name:'搜索引擎'}
                ]
        }






    })




</script>

这样子就当网页加载完可以显示出来图表了
在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Trump. yang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值