vue中,根据屏幕不同设置子组件的高度,ref、$refs、props

现在有一个需求:中间子组件的高度要固定,并且由设备的高度(不同设备高度不同)和父组件头部和尾部决定
需求来源:用vue做移动端商城,使用mint-ui时,使用上拉下拉刷新加载功能时要固定容器高度,不然会被元素无线撑大,会导致不管什么时候直接拉动都会进行加载
本文用以记录实现这个需求的方法
知识点:用ref获取dom元素、$refs获取用 ref 注册过的所有 dom元素、通过props来父传子通信

用图解释:
在这里插入图片描述
思路:
1、先获取父组件的头部和尾部dom元素,传给中间的子组件
2、子组件获取父组件传递的数据
3、容器高度=获取设备高度(document.body.clientHeight)-父组件的头部高度-父组件的尾部高度
父组件的头部高度:this.apprefs.header.$ el.offsetHeight
父组件的尾部高度:this.apprefs.footer.$el.offsetHeight
4、给容器设置高度
代码如下:
在这里插入图片描述
created中操作数据,mounted中操作dom

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值