1、错误描述
谷歌浏览器
火狐浏览器
-
TypeError: Cannot read property 'getAttribute' of null
-
at Object.s.init (echarts-all.js:1)
-
at buildChart (map.js:720)
-
at b.$scope.queryChart (map.js:138)
-
at map.js:175
-
at angular.min.js:146
-
at e (angular.min.js:43)
-
at angular.min.js:45
2、错误原因
用echarts编写饼图时,利用随机数生成数据源,并用定时器定时刷新图形
window.setInterval(randomData(),1000);
但是在重新获取饼图容器时出现这个错误
由于echarts图形ID是由后台传输过来的,并且是根据图形数据一起传过来,出现了图形容器还未生成,但是数据已经来了,这样就会出现这个问题:找不到图形容器
3、解决办法
(1)如果图形数据和图形ID一起传输过来,先保证图形容器已存在,后生成图形;可以利用定时器延后图形数据
(2)可以将图形数据和图形ID分为两个请求接口,分别同步进行,先保证图形容器存在,然后再生成图形