vue 动态获取div宽高有时候为0的情况
项目背景:
需要使用echarts进行图表展示。由于div宽高是不固定的,因此需要先获取父级的宽高再把值赋予到图表的div中。
需要使用 this.$nextTick(() => { });方法,在mounted中,保证DOM渲染完全后,在进行echarts初始化。
<!--wifi数据采集-->
<template>
<div class="wifiCollectCtrl">
<div id="wifiCollectID"></div>
</div>
</template> <script>
import echarts from 'echarts'; export default {
name: "wifiCollect",
props: {
className: {type: String, default: 'chart'},
id: {type: String, default: 'wifiCollectID'}, },
data() {
return {
chart: null,
seriesData: '',
xAxisTxt: '',
color: [
'#3D89FE', '#9bca62', '#2ec7c9', '#b6a2de', '#5ab1ef',
'#8d98b3', '#e5cf0d', '#97b552', '#95706d', '#dc69aa',
'#07a2a4', '#9a7fd1', '#588dd5', '#f5994e', '#c05050',
'#59678c', '#c9ab00', '#7eb00a', '#6f5553', '#c14089'
]
};
},
mounted() {
this.$nextTick(() => { //使用nextTick为了保证dom元素都已经渲染完毕
this.initChart();
});
},
beforeDestroy() {
if (!this.chart) {
return
}
this.chart.dispose();
this.chart = null;
},
created() { },
methods: {
initChart() {
$("#wifiCollectID").width($(".wifiCollectCtrl").width());
$("#wifiCollectID").height($(".wifiCollectCtrl").height());
this.chart = echarts.init(document.getElementById(this.id));
this.chart.setOption({
color: this.color,
title: {
text: '',
},
calculable: true,
grid: {
left: '50px',
right: '3%',
bottom: '20px',
top: '15px'
},
xAxis: [
{
type: 'category',
// data : this.xAxisTxt,
data: ['花园小区', '锦园小区', '云台小区', '教师宿舍区'],
splitLine: {show: false},//去除网格线
axisLine: {
lineStyle: {
color: '#3D89FE',
width: 1
}
},
axisLabel: {
show: true,
textStyle: {
color: '#fff'
}
}
}
],
yAxis: [
{
type: 'value',
splitLine: {//去除网格线
show: true,
lineStyle: {
color: ['#1F4781'],
width: 1,
}
},
axisLine: {
lineStyle: {
color: '#3D89FE',
width: 1
}
},
axisLabel: {
show: true,
textStyle: {
color: '#fff'
}
}
}
],
series: [
{
name: '所属小区',
type: 'bar',
barMaxWidth: '30',
// data:this.seriesData,
data: [20, 340, 40, 39]
} ]
})
}
} }
</script> <style scoped>
.wifiCollectCtrl {
color: #333;
padding: 5px;
width: 100%;
height: 100%;
position: relative;
}
</style>
vue 动态获取div宽高有时候为0的情况的更多相关文章
- 微信小程序之动态获取元素宽高
我以前一直以为微信小程序不能动态获取view元素的宽高.但是自从看到: wx.createSelectorQuery() 这个api接口,以前的某些问题就能得到解决了... 那么,这个api接口怎么用 ...
- Vue中获取元素宽高
<div ref="init"></div> 写在 页面 方法 部分 这里的 offsetHeight 是返回元素的宽度(包括元素宽度.内边距和边框,不包括 ...
- js获取图片信息(二)-----js获取img的height、width宽高值为0
首先,创建一个图片对象: var oImg= new Image(); oImg.src = "apple.jpg"; 然后我们打印一下图片的信息: console.log(oIm ...
- vue 获取屏幕宽高 width height
/** * 获取屏幕宽高 */ Vue.prototype.getViewportSize = function(){ return { width: window.innerWidt ...
- JS快速获取图片宽高的方法
快速获取图片的宽高其实是为了预先做好排版样式布局做准备,通过快速获取图片宽高的方法比onload方法要节省很多时间,甚至一分钟以上都有可能,并且这种方法适用主流浏览器包括IE低版本浏览器. 我们一步一 ...
- 动态布局--动态修改RelativeLayout宽高的方法
本文实例讲述了Android编程动态修改RelativeLayout宽高的方法.分享给大家供大家参考,具体如下: 我们经常会动态修改RelativeLayout的宽高,这样的代码,比较简单,就是修改R ...
- 转载:JS快速获取图片宽高的方法
快速获取图片的宽高其实是为了预先做好排版样式布局做准备,通过快速获取图片宽高的方法比onload方法要节省很多时间,甚至一分钟以上都有可能,并且这种方法适用主流浏览器包括IE低版本浏览器. 我们一步一 ...
- iOS根据文字字数动态确定Label宽高
我们有时候在写项目的时候,会碰到,意见反馈,还有其他地方,讲座活动细则等需要大篇展示的文本, 因为每次服务器返回的内容大小不一,所以需要动态的调整label的宽高: 在ios 6 的时候可以: -(v ...
- 写个js动态调整图片宽高 (原创)
<body style="TEXT-ALIGN: center;"> <div id="testID" style="backgro ...
随机推荐
- 关于double类型数字相加位数发生变化的问题
因为计算机内部存贮本身的缺陷,导致double类型的数字相加.得到的结果有非常多位,比方 774.23 750.0 2638.66 4162.889999999999 看到这个是不是非常晕 当然 ...
- POJ 3678
这道题唯一一个注意的地方是,如出现X\/Y=0这种关系时,X=0,Y=0.已经是可以肯定的关系了,所以可以连边X->-X. 我也错了上面这地方.看来,还不够.以后要细心才好. #include ...
- codechef Little Elephant and Bombs题解
The Little Elephant from the Zoo of Lviv currently is on the military mission. There are N enemy bui ...
- 利用 Gearman 实现系统错误报警功能
Gearman 是什么? Gearman是一个用来把工作委派给其他机器.分布式的调用更适合做某项工作的机器.并发的做某项工作在多个调用间做负载均衡.或用来在调用其它语言的函数的系统. Gearman ...
- 【Oracle】RAC删除节点
环境: OS:OEL5.6 RAC:10.2.0.1.0 眼下有rac1.rac2.rac3三个节点,下面是删除rac3节点的具体过程 1.删除rac3节点上的数据库实例 [oracle@rac1 ~ ...
- oc14--匿名对象
// // main.m // 匿名对象 #import <Foundation/Foundation.h> #import "Person.h" #import &q ...
- Don't Block on Async Code
http://blog.stephencleary.com/2012/07/dont-block-on-async-code.html This is a problem that is brough ...
- java怎么学
java怎么学 给你推荐一个写得非常用心的Java基础教程:Java入门基础教程 | 天码营 这个教程将Java的入门基础知识贯穿在一个实例中,逐步深入,可以帮助你快速进入Java编程的世界.万事开头 ...
- Java攻城狮之基础练习题------经典例题
(一)键盘录入1----7,分别于控制台输出对应的周一,周二,周三,周四,周五,周六,周天. (二)设置一个数组,求出数组中对应的最大值以及索引. (三)在控制台输出9x9乘法口诀表. (四)使用冒泡 ...
- 实现第三方登录(QQ、微信、微博)
第三方登录,就是使用大家比较熟悉的比如QQ.微信.微博等第三方软件登录自己的网站,这可以免去注册账号.快速留住用户的目的,免去了相对复杂的注册流程.下边就给大家讲一下怎么使用PHP开发QQ登录的功能. ...