最近使用 D3.js 开发可视化图表,因为移动端做了 rem 适配,所以需要动态计算获取图表容器的宽高,其中涉及到一些原生DOM API的使用,避免遗忘这里总结一下。

一、获取元素

Vue 中可以使用 ref 来获取一个真实的 DOM 元素。
为了保险起见,所有的 DOM 操作建议都放在 $nextTick() 方法中。

<template><div class="box" ref="wrap"></div>
</template>
<script>
export default {mounted() {// 获取 DOM 元素this.$nextTick(()=>{let $ele = this.$refs.wrap})},
}
</script>
<style scoped>.box {width: 100%;height: 200px;background-color: pink;}
</style>

二、获取元素宽高

  1. 使用 offsetWidthoffsetHeight 方法,返回 Number 类型的值,如:52
let $ele = this.$refs.wrap
// 宽
let width = $ele.offsetWidth
// 高
let height = $ele.offsetHeight
  1. 使用 window 全局对象中的 getComputedStyle API,返回 String 类型的值,包含px单位,如: '100px'
let $ele = this.$refs.wrap
// 宽
let width = window.getComputedStyle($ele).width
// 高
let height = window.getComputedStyle($ele).height

欢迎访问:天问博客

在Vue中获取DOM元素的实际宽高相关推荐

  1. Vue中获取dom元素的宽高

    vue中获取dom元素的宽高 template模板中给dom绑定ref: <el-carouselid="ailabelmap"ref="remarkCarusel ...

  2. 在vue中获取dom元素

    在vue中可以通过给标签加ref属性,就可以在js中利用ref去引用它,从而操作该dom元素,以下是个例子,可以当做参考 <template><div><div id=& ...

  3. vue.js -- 获取dom元素的样式(非行内样式)

    在vue中获取dom元素的样式: this.$refs.menuList.style.top; 这种获取方式是只能获取到元素的行内样式的. this.$refs.menuList.getBoundin ...

  4. javascript中获取dom元素高度和宽度

    javascript中获取dom元素高度和宽度的方法如下: 网页可见区域宽: document.body.clientWidth 网页可见区域高: document.body.clientHeight ...

  5. js中获取dom元素高度

    目录 1.dom元素的宽高 2.鼠标事件中的常用高度宽度: 3. 总结: 4.参考博客: 1.dom元素的宽高 javascript中获取dom元素高度和宽度的方法如下: 网页可视区域宽: docum ...

  6. vue 获取id元素_.vue组件中获取DOM元素问题

    一.问题引入 原项目把一块内容直接写在了模块中(浏览器显示的一整个页面),现在想把它提成一个单独组件,而且把其中使用document.getElementById('id')改为ref获取元素的形式. ...

  7. 在vue3setup语法糖中获取DOM元素

    1.给dom元素添加ref <a-form v-if="modalTitle==='新建指标'" :model="addForm" :rules=&quo ...

  8. vue中动态获取dom元素进行操作

    这几天我远程面试了一家公司,期间问题我都回答上来了 但有一个问题我很纳闷 就是你说下vue中获取dom元素的方法吧 我说大体上俩中吧  1.vue中 ref的方法 给元素起一个ref名称 通过  th ...

  9. Vue.js实例学习:获取DOM元素

    一.获取DOM元素 在Vue中获取DOM元素,我们可以用ref. 用法(和React一样): (1)在组件的DOM部分,任意标签中 写上:ref="xxx" (2)通过组件对象 t ...

最新文章

  1. 如何在html中选择wrap,使用jQuery中的wrap()函数操作HTML元素的教程
  2. 从0开始搭建编程框架——主框架和源码
  3. 电商谋定重整智能物流生态-李玉庭:对话中国经济和信息化
  4. 大学生html5设计大赛方案,2018年大学生三维设计大赛策划书范文
  5. 选数(洛谷P1036题题解,Java语言描述)
  6. springBoot 2.2.6 项目中html页面样式效果丢失
  7. github速成手册
  8. c语言 int转bool,C语言的布尔类型(_Bool)【转】
  9. 从github安装C++库,makefile、
  10. 中国DCS品牌知名度调查
  11. 医院计算机房相关制度,医院机房管理制度.docx
  12. 深信服防火墙console波特率_[网络技术]深信服防火墙配置详细步骤 pdf文件[16.26MB]-码姐姐下载...
  13. 基于NRF24L01的CAN数据透传
  14. 【BZOJ2069】ZAW(POI2004)-最短路+二进制分组
  15. go cobra初试
  16. linux里 read函数用法
  17. Python生成带圆角图片的二维码
  18. 手机浏览器UCWEB的成功史
  19. 工作分配问题【回溯算法】
  20. 让你的短信应用迎接Android 4.4(KitKat)

热门文章

  1. 网站联盟CPS合作之三 主动通知联盟方
  2. 内蒙古今日油价2022-03-05
  3. 贪吃的大嘴-动态规划
  4. 什么是视觉里程计(Visual Odometry)?
  5. github项目排行榜
  6. 基于Java+MySQL实现(Web)在线题库管理系统【100010067】
  7. SpringCloud断路器
  8. Platform Builder实践之两个要点(转)
  9. Unity入门之U2D——FlappyBird游戏制作
  10. 基于QT实现的怪怪水族馆益智游戏