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 ...
最新文章
- vc++ 将可执行文件链接到 DLL
- Android 必须知识 PWA Android Instant Apps
- IT界含金量高的认证考试
- linux win10虚拟内存,高手解惑win10系统电脑虚拟内存不足的还原技巧
- iview给radio按钮组件加点击事件
- Android面试收集录4 Fragment详解
- myeclipse始终build workspace
- mybatis常用jdbcType数据类型
- (数据库系统概论|王珊)第十一章并发控制-第五、六、七节:并发调度的可串行性、两段锁协议和封锁的粒度
- 构建之法首周阅读体会
- theano —— shared, function(outputs, updates, givens)
- 域名注册管理相关的三个机构:ICAAN、interNIC、CNNIC
- 40多套在线教育平台系统网站源码知识付费源程序网上教育
- adb 命令获取ip和mac地址
- python为在线漫画站点自制非官方API(未完待续)
- unity3d Space Game太空射击游戏资源包
- Mariadb指定数据库进行主备,无法恢复数据异常总结
- 三、项目进度管理(输入/工具与技术/输出)
- 不用第三方之C#实现大容量报表系统(转)
- 多选框的全选和全不选