vue mixins(vue3 hooks)动态获取div高度
之前转载过一篇文章:
https://blog.csdn.net/qq_37167049/article/details/103084927
可以动态计算div 高度,但是比较繁琐的痛点是:
需要在每个需要计算高度的.vue中 都需要 copy一份,这样就很麻烦
那怎么样 能解决这个问题呢?
可以 参照vue 官网 使用 mixins来解决:
https://cn.vuejs.org/v2/guide/mixins.html
demo 如下:
新建 mixins 文件夹:
下 建立 getHeightPX.js 文件
const getHeightPX = {data() {return {contentStyleObj: {height: ""}};},created() {window.addEventListener("resize", this.getHeight);this.getHeight();},destroyed() {window.removeEventListener("resize", this.getHeight);},methods: {getHeight() {console.log('mixins 方法 触发了!!!!!!!!!!!!!!!!!!!!!!!!!!')this.contentStyleObj.height = window.innerHeight - 110 + "px";}}
};
export default getHeightPX;
在 .vue文件中:
// 功能补充 如下
如果 在一个页面同时 动态获取 2个 div 高度呢?
比如 1个 height:100px; 1个 height:200px;
import getHeightPX from "../../mixins/getHeightPX";<div :style="contentStyleObj" v-loading="tableLoading">1231231231231123123</div><div class="extraction-bg" :style="`height:${contentStyleObj.extractionHeight}`">1<br> 1<br> 1<br> 1<br> 1<br> 1<br> 1<br> 1<br> 1<br> 1<br> 1<br> 1<br> 1<br> 1<br> 1<br> 1<br> 1<br> 1<br>1<br> 1<br> 1<br> 1<br> 1<br> 1<br> 1<br> 1<br> 1<br> 1<br> 1<br> 1<br> 1<br> 1<br> 1<br> 1<br> 1<br> 1<br>1<br> 1<br> 1<br> 1<br> 1<br> 1<br> 1<br> 1<br> 1<br> 1<br> 1<br> 1<br> 1<br> 1<br> 1<br> 1<br> 1<br> 1<br>1<br> 1<br> 1<br> 1<br> 1<br> 1<br> 1<br> 1<br> 1<br> 1<br> 1<br> 1<br> 1<br> 1<br> 1<br></div>
export default {mixins: [getHeightPX],data(){return{contentStyleObj: {height: "",extractionHeight :""},}},methods: {getHeight() {console.log('--------------------------vue调用 mixins方法')this.contentStyleObj.height = window.innerHeight - 300 + "px";// 动态获取 第二个 div高度this.contentStyleObj.extractionHeight = window.innerHeight - 114 + "px";},}
}
通过打印的log 可以看到:
如果 .vue 文件 复用 getHeight()方法 意味着 重写了 mixins 的方法,mixins的方法不会触发
如果 .vue 文件 不调用 getHeight()方法,就会默认调用mixins的方法.
vue3 获取 div 动态 高度 见:
https://blog.csdn.net/qq_37167049/article/details/124672147?spm=1001.2014.3001.5502
vue mixins(vue3 hooks)动态获取div高度相关推荐
- JS动态获取DIV的宽度和高度px!
JS动态获取div的宽度: var o = document.getElementById("div"); var width= o.clientWidth||o.offsetWi ...
- JS获取div高度的方法
有时在写页面时,需要获取一个div的高度.怎么才能获取呢?哈哈,先上结论.有两种方法. offsetHeight .clientHeight getComputedStyle offsetHeight ...
- mounted钩子函数_怎样实现Vue中mounted钩子函数获取节点高度
这次给大家带来怎样实现Vue中mounted钩子函数获取节点高度,实现Vue中mounted钩子函数获取节点高度的注意事项有哪些,下面就是实战案例,一起来看一下. 遇到的问题 最近在开发一个Vue的项 ...
- 使用普通JavaScript获取div高度
本文翻译自:Get div height with plain JavaScript Any ideas on how to get a div's height without using jQue ...
- 在html上js添加宽度,js 获取div高度并重新设置div高度与宽度
js 获取div高度并重新设置div高度与宽度 js 获取div高度并重新设置div高度与宽度 var $=function(id) { return document.getElementById( ...
- html js div 内容高度,JavaScript获取div高度并实现高度监听
demo #demo { width: 100px; height: 200px; background: yellow; margin: 10px; padding: 10px; border: 2 ...
- php获取div高度,JS获取一个未知DIV高度的方法
本文实例讲述了JS获取一个未知DIV高度的方法.分享给大家供大家参考,具体如下: 通过元素的clientHeight属性能够得到元素的高度,如:var height = element.clientH ...
- vue获取div高度
<div class="top" ref="top">mounted () {let topHeight = this.$refs.top.offs ...
- Vue 动态获取元素高度
getTitleHeight() { this.$nextTick(function () { this.contentHeight = document.getElementsByClassName ...
最新文章
- c#编写的MD5加密类
- highcharts总结
- Halcon图像滤波方法与原理概述
- Web 开发必须掌握的三个技术:Token、Cookie、Session
- java职称考试试题及答案_2017年9月计算机考试Java部分考题预测
- cmd命令查看服务器硬盘序列号,硬盘序列号查询命令_Win7系统中怎么通过CMD查看硬盘序列号...
- CIO40知识星球—3年主管升职IT经理(28-30岁)
- ALTOVA XMLSpy 2013中文版下载教程及简单运用
- ios 网速监控_iOS 监测网络状态
- macpro如何清理磁盘空间_如何在Mac上清除磁盘空间(2020年最佳技巧)
- 面向对象,数据库交互的Spring-boot(新手)
- 【Mysql】 update语句更新原理
- c语言定义用户标识符32个,c语言用户标识符是什么
- Java 输入汉字姓名 输出 姓名拼音 首字母缩写组合
- 基于知识蒸馏的心律失常分类模型
- 《医院信息管理系统 ——“病人信息维护”模块》项目研发阶段性总结
- 煤矿生产高精专!选矿厂 3D 可视化监管,实现提质增效
- 基于STM32的嵌入式数字示波器设计
- 福特android auto教程,福特车载系统年底支持CarPlay和Android Auto
- 关于激活Bentley软件详细步骤介绍(再补充一个)