在vue中使用echarts时,在图表元素并未加载的情况下进行eharts.init(),会发生此错误,因为eharts并未找到该元素,故无法对其进行渲染。echarts.js引用放在head中或者放在body中HTML代码的前面了,造成加载时阻塞后面的html。
解决方案:
1.查看填写的id是否真实存在,若不存在,当然无法根据getElementById来找到该元素;
2.将echarts.js的引用放在</body>之前就可以了,完美解决;
拓展:
不仅是在echarts时,只要是出现对元素操作时均有可能报此错误,表示未找到指定的元素。
mounted里面执行的方法放到this.$nextTick(function(){})中,必须保证dom渲染完成完毕才可以获取dom节点
mounted: function(){
this.$nextTick(function() {
this.getPlayTimes();
})
},
3.这个报错是错误回调里弹出来的,注释掉alert就好了。