搜索
最近使用 D3.js 开发可视化图表,因为移动端做了 rem 适配,所以需要动态计算获取图表容器的宽高,其中涉及到一些原生DOM API的使用,避免遗忘这里总结一下。
D3.js
rem
在 Vue 中可以使用 ref 来获取一个真实的 DOM 元素。 为了保险起见,所有的 DOM 操作建议都放在 $nextTick() 方法中。
Vue
ref
$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>
52
let $ele = this.$refs.wrap // 宽 let width = $ele.offsetWidth // 高 let height = $ele.offsetHeight
'100px'
let $ele = this.$refs.wrap // 宽 let width = window.getComputedStyle($ele).width // 高 let height = window.getComputedStyle($ele).height
欢迎访问:天问博客