博客
关于我
uniapp:动态设置高度
阅读量:639 次
发布时间:2019-03-15

本文共 788 字,大约阅读时间需要 2 分钟。

在 Vue.js 中使用 CSS 变量结合动态样式优化时,动态获取元素高度处理是一个常见的需求。以下是关于如何在 uni-app 中统一使用 luarejs 模型实现本地 CSS 变量赋值的实践方法。

动态样式变量赋值处理

需要注意的关键点在于,通过 js动态计算元素的高度,并将计算结果赋值给 CSS 变量中。

实现方式

  • beforeCreate 计算高度,并赋值给 CSS变量
  • beforeCreate() {  const query = uni.createSelectorQuery().in(this);  const infoQuery = query.selectAll('.info-items').boundingClientRect();  return infoQuery.exec((res) => {    const infoHeight = res[0][0].height;    this.headerHeight = `${infoHeight * 0.8}px`;  });},
    1. created lifecycle hook 冷启动后面的操作
    2. created() {  uni.vUpdate('headerHeight', '120px');},

      通过这种方式,可以进行前后双重锁,确保视图正确初始化后再执行高度计算,避免出现计算前期渲染的问题。

      注意事项

      • 计算优化:动态计算高度时,尽量减少计算次数,避免开销过大。

      • 性能问题:在 beforeCreate 中如果频繁调用Uni查询,可能会导致性能问题,需要根据实际情况判断是否需要权限。

      • 视图触发:在 viewport 触发事件时,可能导致多次计算,应谨慎处理。

      以上方法结合了 vue 生命周期控制和统一数据更新机制,可以有效实现 header 高度的动态样式控制。

    转载地址:http://pmalz.baihongyu.com/

    你可能感兴趣的文章
    不编译只打包system或者vendor image命令
    查看>>
    【编程】C语言入门:1到 100 的所有整数中出现多少个数字9
    查看>>
    flink启动(二)
    查看>>
    pair的用法
    查看>>
    Flex 布局的自适应子项内容过长导致其被撑大问题
    查看>>
    PL/SQL 动态Sql拼接where条件
    查看>>
    Lua-table 一种更少访问的安全取值方式
    查看>>
    虚函数
    查看>>
    Error:Cannot read packageName from AndroidManifest.xml
    查看>>
    【自学Flutter】4.1 Material Design字体图标的使用(icon)
    查看>>
    【换行符】什么时候用cin.get()吃掉输入流中的换行符
    查看>>
    【二叉树】已知后序与中序求先序
    查看>>
    广东外语外贸大学第三届网络安全大赛Writeup
    查看>>
    SpringBoot使用RedisTemplate简单操作Redis的五种数据类型
    查看>>
    Thymeleaf sec:authorize 标签不生效
    查看>>
    微信JS-SDK DEMO页面和示例代码
    查看>>
    一张图搞定RPC框架核心原理
    查看>>
    他来了他来了,他带着云栖大会的免费门票走来了
    查看>>
    获取linux 主机cpu类型
    查看>>
    测试tensorflow是否安装成功 出现 SyntaxError: invalid syntax的错误
    查看>>