angular中使用echart遇到的获取容器高度异常的问题记录
2018-04-15 11:49
351 查看
问题
在使用echart去创建图表时,发现图表只占了容器的一个角落,如图,并没有充满容器。第一反应是容器元素的样式有问题,于是我把容器的宽高都改为px指定的(之前是百分比设定的,查询资料发现说echart容器宽高要明确指定),修改之后,还是和上面一样的展示,依旧有问题。
定位
于是我想是不是渲染图表时,获取到的容器元素的高度有问题,代码中我是在ngAfterViewInit()生命周期中渲染的图表,先打印出元素高度看看ngAfterViewInit() { console.log(document.getElementById('usertotal').clientHeight); this.initChart('usertotal'); }
发现元素此时的高度为27,果然有问题
于是打印出各个生命周期中获取的元素高度,再第二次ContentChecked之后才会获取都正确的高度,但是ContentChecked在每次内容变更检测之后都会调用,用来初始化地图肯定不合适
解决
在ngAfterViewInit中延时再初始化地图,加入延时之后,发现获取到了预期的高度其实setTimeOut设置的延时为 0 ,只是将获取高度放在了事件队列中,等主线程的任务执行完了再获取高度,此时就获得到了正确的高度,肯定可以正确初始化地图
相关文章推荐
- angular中使用echart遇到的获取容器高度异常的问题记录
- (记录学习android遇到的问题)使用被weight分配空间后的控件高度值画新控件出现的问题
- 今天开始使用这个blog来记录我的学习中遇到的问题吧
- [项目过程中所遇到的各种问题记录]ORM篇——使用NHibernate配置对象实体的一些小问题
- [项目过程中所遇到的各种问题记录]编辑器篇——FCKeditor相关知识及各种常见使用问题
- 使用百分比来获取高度,必须要求定义了父容器高度
- javascript:获取屏幕高度和宽度等信息 & 制作滚动窗体时遇到的问题
- 使用FastDFS遇到问题记录(转)
- [项目过程中所遇到的各种问题记录]编辑器篇——FCKeditor相关知识及各种常见使用问题
- 使用iscroll4可能会遇到的问题(转:记录)
- [项目过程中所遇到的各种问题记录]ORM篇——使用NHibernate配置对象实体的一些小问题 22
- 获取服务器控件的id时,遇到使用到模板列取不到的问题
- 使用pcap_findalldevs_ex获取设备列表遇到的问题
- 使用GetDIBits获取图片数据时遇到的问题
- ListView使用遇到的问题:1. ItemView使用merge标签减少嵌套 2. getView中抛出类转换异常
- 在使用WeifenLuo Suite时遇到的问题,自己记录一下,备忘
- 记录在eclipse中使用ant遇到到的一个小问题
- [记录]使用sscanf_s遇到的问题
- 使用sigprocmask遇到的问题,记录下
- Windows Media 数字权限管理(DRM)组件遇到问题。如果您正在尝试使用从在线商店获取的文件,请到在线商店并获取适当的使用权。