使用 Vue 3 + TypeScript 和 setup 语法糖实现动态计算高度,实现高度根据屏幕的高度自适应

 

HTML代码部分 :style="{ height: firstSectionHeight }"

  <div class="first-bg" :style="{ height: firstSectionHeight }">
      <div class="title">
        荣誉资质
      </div>
    </div>

 

JS代码

<script setup lang="ts">
import { reactive, ref, computed,onMounted, onUnmounted } from 'vue'
// 动态计算第一部分高度
const firstSectionHeight = ref('100vh');// 初始化高度

const calculateFirstSectionHeight = () => {
  const windowHeight = window.innerHeight;//获取当前窗口的高度
  const offset = 350; // 偏移量,即需要减去的像素值
  firstSectionHeight.value = `${windowHeight - offset}px`;//转换为字符串,并添加单位 'px',将            
  其赋值给 firstSectionHeight.value
  console.log(firstSectionHeight.value); //打印高度
};

onMounted(() => {
  calculateFirstSectionHeight();//调用 calculateFirstSectionHeight 函数来计算并更新第一部分的 高
  window.addEventListener('resize', calculateFirstSectionHeight); //使用 window.addEventListener 监听窗口大小变化事件,在窗口大小发生变化时自动重新计算和更新第一部分的高度。
});

onUnmounted(() => {
  window.removeEventListener('resize', calculateFirstSectionHeight);//取消监听窗口大小变化事件,以避免出现内存泄漏。
});

</script>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值