Vue引用echarts,echarts.init时,提示初始化dom失败,图表加载不出来,请问为什么?

发布于 2017-05-06 02:35:46 字数 1630 浏览 1696 评论 1

基于Vue开发,同时引入echart,已经为显示图表的div 定义了宽度、高度,而且在html最后引入js,但仍然提示echarts初始化dom失败、且不显示图表,请问为什么?

代码如下:
html:

<body>
    <div>
       <div id = 'ichart' class = 'chart'></div>
    </div>
    <script type = "text/javascript" src = "./js/index.js"></script>
</body>

css:

.chart {
    width: 200px;
    height: 200px;
    margin-top: 100px;
}

入口js:

import Vue from 'vue'
var collVm = new Vue(
    {
        el: '#box',
        data: {
            reData: []
        }
    }
);
fetch("url", {
    method: 'GET',
})
    .then(function(response){
        return response.json();  
    })
    .then(function(json){
        if(json.status == '1000'){
            collVm.reData = json.data;
        } 
    })
    .catch(function(error){
        console.log(error);
    });

var echarts = require('echarts');

export default{
    name: 'chart',
    data (){
        return {
            msg: "error:chart"
        }
    },
    mounted (){
        
        var myChart = echarts.init(document.getElementById('ichart'));
        console.log(true);

        myChart.setOption({
            title: { text: 'ECharts 入门示例' },
            tooltip: {},
            xAxis: {
                data: ["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"]
            },
            yAxis: {},
            series: [{
                name: '销量',
                type: 'bar',
                data: [5, 20, 36, 10, 10, 20]
            }]
        });
    }
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

夜无邪 2017-05-06 02:35:46

应该放在mounted里初始化,你这样vue还没生成dom树,只生成虚拟dom

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文